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的值
- 基本操作