GDB调试:gdb调试的是可执行文件,在编译时加入-g ,告诉编译器在编译时加入调试信息,这样gdb才能调试这个被编译的文件,同时使用-Wall显示所有的警告信息。 g++ -g test.cpp -o test.out -Wall
GDB命令格式:
| 命令 | 功能 | 实例 |
|---|---|---|
| gdb | 启动调试 | gdb test.out |
| quit/q | 退出gdb,结束调试 | quit/q |
| set/show args | 设置/获取程序参数 | set args 100show args |
| set/show listsize | 设置/获取list显示的行数 | set listsize 100show listsize |
| list/l | 查看程序源代码 | l 5,10:显示5到10行的代码l test.cpp:5, 10: 显示源文件5到10行的代码,在调试多个文件时使用l get_sum: 显示get_sum函数周围的代码l test.cpp get_sum: 显示源文件get_sum函数周围的代码,在调试多个文件时使用 |
| help | 查看帮助信息 | help list/all |
| break/b | 设置断点 | b 7//在第七行设置断点b get_sum//以函数名设置断点b 行号或者函数名 if 条件以条件表达式设置断点 |
| info/i break/b | 查看断点信息 | i b |
| start/run | 运行GDB程序 | start//程序停在第一行run//遇到断点则停止 |
| continue/c | 继续运行,下个断点停 | – |
| next/n | 继续执行下一条语句 ,会把函数当作一条语句执行,即不会进入函数体 | – |
| step/s | 继续执行下一条语句,会跟踪进入函数,一次一条的执行函数内的代码 | – |
| finish | 跳出循环体 | – |
| print/p | 打印变量值 | p 变量名 |
| ptype | 打印变量类型 | ptype 变量名 |
801

被折叠的 条评论
为什么被折叠?



