gdb 自定义命令

归档: 软件使用和配置 | 标签:

平常不怎么用 gdb,一般也就是找一下内存访问错误的地方然后加 printf 语句定位。这两天重写红黑树,发现新写的和原来写的输出不一致,但又不知道哪个是错的,在打印日志无果的情况下,决定试试单步调试。很多时候选择打印日志而不是单步调试是因为觉得调试有点慢,一步步走着走着自己就晕了……

不说废话了,先说一下自定义命令的方法。在家目录下建立 .gdbinit 文件,里面写上要定义的命令,gdb 启动的时候会读取这个文件里的命令,这样在调试过程中就可以使用这些自定义命令了。定义命令的方式为:

define mycmd
...
end

还可以为这条自定义的命令加上注释,这样当使用“help mycmd”的时候就会显示这些注释:

document mycmd
comments here ...
end

如果需要传递参数,可以使用 $arg0,$arg1, …,$arg9 等。例如:

define print_int
p $arg0
end

这样如果在 gdb 中使用“print_int a”时,就会打印整型 a 的值。

发表于 2011年4月14日
本文目前尚无任何评论.

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>