GDB调试常用指令
其实Linux的这些工具,最有用的是他们的help指令。
1. 准备阶段
gcc 编译的时候需要添加 -g 选项
比如:gcc -g test.c -o test
有些时候,你需要调试一些宏,这个时候,-g 要改变等级为 -g3
2.启动和退出
2.1 启动
<1> gdb test
<2> 如果test 的运行需要参数 arg1, arg2, ...
进入gdb交互后有两种方式:
run arg1, arg2, ...
或者 set args arg1, arg2, ...
然后 run
开始执行
2.2 退出
<1> 退出gdb: quit
<2> 终止test的运行:kill
3.添加断点
3.1 行号或者函数
<1> 行号:break(b) 10
指定源文件: break(b) test.c:10
<2> 函数名称: break(b) test.c:main
3.2 条件判断
<1> break(b) test.c:10 if(argc == 2)
<2> break(b) test.c:main if(strcmp("abc", argv[1]) == 0)
参考网站:http://www.unknownroad.com/rtfm/gdbtut/
https://wizardforcel.gitbooks.io/100-gdb-tips/jump.html
https://www.gitbook.com/book/wizardforcel/100-gdb-tips/details