存档

  • 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日 | 归档: 软件使用和配置 | 标签:
文章标签 ‘gdb’