- 程序编译时必须加 “-g” 选项,例如,编译 main.c 生成 a.out 程序。
gcc -g main.c -o a.out
- 开始调试。
gdb a.out
- 在 main.c 第 28 行设置断点,以便停在此处(break)
b main.c:28
- 开始运行(run):
r
- 不想继续运行,要重启程序
kill
- 查看源码第28行(源码文件在当前程序所在目录下):
list main.c:28
- 设置临时断点,在循环较多时比较有用:
tbreak 8
- 执行外部的 shell 命令,比如,想看看当前程序进程号
!ps -ef | grep a.out
这点很有用。因为 gdb 默认只能调试主进程。而想要调试子进程,又无法开多个终端时,
就可以利用这点,看到进程号。再 attach xxx ,来调试子进程。
网友评论