文章目录
- 前言
- 查看(显示)源代码 list/l
- 运行程序run/r
- 打断点b
- 查看断点
- 删除断点
- 打开/关闭断点
- 逐过程 逐语句
- 查看变量
- 常显示
- continue
- finish
- until
- 修改指定变量
- 退出gdb
前言
GDB,即GNU调试器(GNU Debugger),是GNU开源组织发布的一个强大的UNIX/Linux下的程序调试工具。它使程序员能够跟踪程序执行的过程,查看程序的源代码、汇编代码、变量的值以及内存使用情况等信息,帮助程序员发现并定位程序中的错误。
安装gdb:
输入gdb -v查看是否安装
安装好后可以开始调试程序。注意:gdb只能调试debug版本的程序,所以在生成程序时要加上 -g生成debug程序(gcc/g++默认生成的是release版本的程序。)
先写一个C语言的程序,再对它进行调试
查看(显示)源代码 list/l
先进入gdb
使用list或l(简写)查看源代码
l 文件名:行号/函数名 l 行号/函数名
直接回车默认最近一条命令
运行程序run/r
打断点b
查看断点
info/i b
断点是否被开启 y(开启)n(关闭)
删除断点
delete/d:断点编号
打开/关闭断点
disable/enable 断点编号(打开/关闭断点)
关闭断点后Enb列变成n
逐过程 逐语句
next/n:逐过程(等同vs里面调试的F10键) 不进入函数
直接回车默认输入n
step/s:逐语句(同VS调试的F11键)进入函数
查看变量
print/p:查看变量内容或地址
常显示
display:变量/变量地址
undisplay:编号 (取消常显示)
continue
continue/c:运行至下一个断点处
finish
运行完所在函数就停下来
until
until 行号:跳转到指定行(中间的代码已运行)
修改指定变量
set var i=xxx
info local 查看当前栈帧局部变量的值
bt 查看调用栈
退出gdb
quit 退出gdb