gdb
1 使用场景
- 程序编译无错误,但是逻辑有错误
- 使用文字终端,实现一个单步调试的功能
使用步骤:
- g++ -o test main.cpp -g(生成可执行文件前必须加参数-g)
- gdb test(可执行文件)
- 使用gdb命令进行调试
2 gdb调试命令
命令 | 说明 |
---|---|
set listsize n | 设置显示行数 |
show listsize | 查看当前行数 |
l (list) | 列出文件的代码清单 |
l n/函数名 | 从第n行开始显示/显示函数内的内容 |
l 文件名:n/函数名 | 某个文件从第n行开始显示/显示某个文件的函数内容 |
b(break) | 设置断点 |
b 行号/函数名 | 在 第n行/某个函数 设置断点 |
b n (条件) | 在第n行设置断点,只有条件成立时断点生效 |
b 文件名:函数名/行号 | |
i (info) b | 查看断点信息 |
r(run) | 运行程序 |
start | 单步执行,运行程序,停在第一行执行语句,在运行就contin |