8/28/2008

好用的工具

今天找到两个比较好的工具 devtodo, conky

下班了,回家慢慢补充 :D

(续)
我最后用的 devtodo,感觉不错 :)

8/25/2008

育儿

1.当不让孩子做不该做的事情(如要不该要的东西)哭闹打滚时,父母要视而不见,不要去哄,除非孩子做危险的事情,时间一长孩子自己就不哭了
2.当孩子做错事请时,不要把他自己关在房子里待着,要多交流
3.下班回家后,要大声叫孩子的名字,并说我回来了,然后和孩子一起玩至少20分钟
4.父母每周至少陪孩子外出游玩半天

(以后陆续补充)

安全解决 blocking 问题

[blocks B ] sys-apps/setarch (is blocking sys-apps/util-linux-2.13.1.1)
[blocks B ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r2)
[blocks B ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)

类似上面的问题,在gentoo 系统中是经常遇到问题,一般情况下可以先删除(emerge -C)再安装,但这样做不太安全,特别是对于一些重要的 packages,再安装时会找不到需要用的命令),可以采用下面的方法解决:

emerge --buildpkgonly --nodeps util-linux && emerge -C setarch && emerge --usepkgonly util-linux
emerge --buildpkgonly --nodeps coreutils && emerge -C mktemp && emerge --usepkgonly coreutils

也可以把 package 加到 package.mask 中,然后在 emerge,如下:

把 bash 先加到 /etc/portage/package.mask 中,这样 emerge portage 就不会报错了,然后再把 /etc/portage/package.mask 中的 =app-shells/bash-3.2_p33 拿掉,再 emerge bash

8/22/2008

GDB 技巧

比较有用的命令:

1.p(print) Print value of expression EXP
p/x Print value of variable and format it are x(hex)
2.ptype Print definition of type TYPE
3.whatis Print data type of expression EXP
4.display Print value of expression EXP each time the program stops
5.define Define a new command name
6.layout Change the layout of windows. Layout names are: src/asm/split/regs

举例如下:

获取struct page结构的大小
(gdb) p mem_map
$80 = (struct page *) 0xc1000000
(gdb) p mem_map+1
$81 = (struct page *) 0xc1000020
(gdb) p/x 0xc1000020 - 0xc1000000
$82 = 0×20

p *array@len


自定义函数
(gdb) define nbt
Type commands for definition of “nbt”.
End with a line saying just “end”.
>next
>bt
>end
(gdb) nbt

TUI模式
layout src 仅显示源代码窗口
layout asm 仅显示汇编代码窗口
layout split 显示源代码和汇编代码窗口
layout regs 显示寄存器和源代码窗口,或者寄存器和汇编代码窗口
layout next , layout prev 切换窗口
C+l 刷新屏幕
C-x 1 只用一个窗口
C-x 2 用两个窗口,按多次会有不同两个窗口的组合形式
C-x o active 窗口转移
C-x s 进入和退出TUI SingleKey 模式
C-x a 退出TUI模式,回到传统模式