基础常用命令
关于进程
show follow-fork-mode # 查看当前 gdb 的跟踪状态
set follow-fork-mode child # 跟踪子进程
set follow-fork-mode parent # 跟踪父进程
set show detach-on-fork off # 让父子进程都在gdb的控制下
info inferiors # info 查看当前进程信息
inferiors 进程序号 # 上一步可以查到进程序号
call命令
call func(),执行 func() 函数,同 print func(),用于直接调用某函数,传入合适的参数即可
call /x命令后面的/x表示将输出的值显示为十六进制格式
线程在后台运行
2>&1 表示将标准错误 (2) 重定向到标准输出 (1)
命令最后加个& 表示在后台执行这条命令
例:./test > test.txt 2>&1 这条命令可以使test线程在后台运行且不会在终端打印信息
x命令
对于void * 这种变量,不能直接查看他的值,需要先display看他的内存地址,然后用x命令查看这个内存的值。
格式:x/[number][format] <addr>
例:x/16x 0xffffb3860750
字符串打印不全
set print elements 1000
bt命令(栈回溯)
(gdb) bt :查看当前堆栈(断点所在的调用栈)