调试带参数的程序
$ gdb program
(gdb) run param
使用core dump调试
首先打开core dump
ulimit -c unlimited
core文件产生后,使用core dump
gdb --core=core.XXX
设置watch point
(gdb) watch *((int*)0x00ABCDEF)
查看反汇编代码
disas或者x/40x addr
将gdb中的输出重定向到文件
http://blog.csdn.net/ariesjzj/article/details/7419479
指定源文件目录
dir命令可以指定源码地址,从而达到源码级的调试。但如果是交叉编译环境,很有可能编译和调试不是同个环境,如果可执行文件的调试信息中记录的绝对路径,那么可以用set substitute-path替换路径。详见 http://blog.csdn.net/zhangxinrun/article/details/5573636
线程创建或退出时打印信息
(gdb) show print thread-events [on | off]
查看段
(gdb) info files
查看进程的内存映射和命令行
(gdb)info proc all
设置内存区域访问属性
例:(gdb) mem 1 1024
显示c++符号的demangle形式(gdb)set print demangle on
(gdb)set print asm-demangle on
显示真实类型而非声明类型(gdb) set print object on
把数据从内存倒到文件
dump