又学了一遍gdb调试,记录一下流程,以免遗忘
打开我的电脑->属性->高级->环境变量->Path->+ ; +复制内容
打开c++->打开文件位置->minGW32->bin->复制地址粘在上面
点击window+R->cmd
输入cd进入目录->dir查看当前目录->输入:g++ 1.cpp -o 1 -g -Wall -Wextra -Wconversion
输入gdb 1.exe(是exe!!!)就可以开始运行gdb了
基本操作:
r(un)运行程序
sta(rt)进入主函数
b(reak)设置断点
l(ist)展示代码
n(ext)单步步过(会将函数执行完后跳出)
s(tep)单步步入
p(rint)输出某个变量的值
disp(lay)长期显示某个变量的值
d(elete)删除+断点标号 不加则全部删除
c(ontinue)跳到下一个断点
info(rmation)显示断点或disp信息
完整版(转载自https://blog.csdn.net/zdy0_2004/article/details/80102076)
参数列表
命令 | 命令缩写 | 命令说明 |
list | l | 显示多行源代码 |
break | b | 设置断点,程序运行到断点的位置会停下来 |
info | i | 描述程序的状态 |
run | r | 开始运行程序 |
display | disp | 跟踪查看某个变量,每次停下来都显示它的值 |
step | s | 执行下一条语句,如果该语句为函数调用,则进入函数执行其中的第一条语句 |
next | n | 执行下一条语句,如果该语句为函数调用,不会进入函数内部执行(即不会一步步地调试函数内部语句) |
| p | 打印内部变量值 |
continue | c | 继续程序的运行,直到遇到下一个断点 |
set var name=v |
| 设置变量的值 |
start | st | 开始执行程序,在main函数的第一条语句前面停下来 |
file |
| 装入需要调试的程序 |
kill | k | 终止正在调试的程序 |
watch |
| 监视变量值的变化 |
backtrace | bt | 产看函数调用信息(堆栈) |
frame | f | 查看栈帧 |
quit | q | 退出GDB环境 |
条件断点
b 5 if i==7