先生成可调试的可执行文件,-g
选项生成的文件才可以进行gdb调试
1 | g++ -g file_1.cpp file_2.cpp -o main |
对该生成文件进行gdb调试
1 | gdb main |
设置断点(b+断点所在行数)
1 | b LINENUM |
设置指定文件内的断点(b+文件名:断点所在行数)
1 | b filename:LINENUM |
单步进入:step
单步执行:next
开始运行:run
查看变量:
- 查看局部变量
print variable_name
- 查看成员变量
print object_name.member_variable
- 打印数组内容
print array_name
- 打印指针内容
print *pointer_name
- 打印数组的前多少个元素
print array_name@length
- 观察变量随时变化
display variable_name
- 停止观察变量
undisplay variable_name
- 查看所有局部变量
info locals
- 查看所有全局变量
info variables
,如果全局变量在特定的命名空间内info variables namespace_name::
- 查看变量类型
whatis variable_name
- 动态更改变量值
set variable variable_name = new_value
- 继续运行程序
continue