gdb调试c语言简介
2014-08-16 (2014-08-27更新)
简单步骤
- 编译程序(带调试信息)
gcc -g file.c -o test.exe - 启动gdb
gdb test(程序名) - 列出代码
(gdb) l - 设置断点
(gdb) break n(行号) - 运行/单步运行
(gdb)r/ (gdb)n/ (gdb)s - 打印变量
(gdb) p i(变量名)
调试简介
-
编译程序(加入调试信息)
gcc -g test.c -o test -
启动gdb
gdb test -
(gdb)环境操作
- 基本操作
(gdb) l列出原代码(gdb) r运行(run命令)(gdb) n运行下一句(gdb) next n运行n行代码(不会进入函数内部)(gdb) s进入下一行代码执行(会进入函数内部)(gdb) step n执行n行代码(gdb) until n运行到第n行或,到函数(gdb) until n ifcondition(gdb) finish继续执行到函数结束(gdb) c继续运行(continue命令)(gdb) kill停止执行(gdb) q退出调试(quit命令)
- 断点操作
(gdb) break n在第8行设置断点(gdb) clear清除断点(gdb) clear func清除函数func处的断点(gdb) clear nth清除第nth行处断点(gdb) d删除所有的断点或观察点(delete命令)(gdb) delete n删除第n个断点,观察点(gdb) delete range删除指定的断点,观察点(gdb) disable n/range禁用指定断点,观察点(gdb) enable n/range启用指定断点,观察点(gdb) enable once n断点一次有效,经过后设置为无效(gdb) enable del n断点一次有效,经过后删除
- 打印变量
(gdb) p i打印变量i的值
- 基本操作