赞
踩
目录
设置断点的目的:缩小查找范围,调试的正确思路:先确定错误范围,然后再在范围内逐语句执行查找
debug:测试版本(可以被调试)
release:成熟版本(不可以被调试)
为什么dbug版本可以被调试呢?
因为编译器在形成可执行程序的时候会给可执行程序添加调试信息
gcc/g++编译时采用release模式
想要以dbug模式编译,要在命令行后面加一个-g
为什么软件版本要分为release和dbug版本呢?
1、用户不需要调试信息,所以只需要release
2、程序员需要调试信息进行调试
所以,分成两个版本
而测试人员测试的是release版本,代表用户
启动gdb:gdb XXX.exe
list :查看源代码
quit:退出
l XXX.c:0 #对XXX文件从0行开始查看源代码
l n #查看n行(一般在中间)
i b:查看断点
b n :在n行位置打断点(只能一个一个设置)
d n :删除n号断点
disable n:禁用断点
Enb:使能,表示断点是否被启用s
enable n:启用断点
n(next):逐过程(F10)
s(step):逐语句(F11)
p(print) n:查看变量n
p(print) &n:查看变量n的地址
display n :常显示变量n
undiplay n:取消n号常显示
continue 简写为c:直接运行到下一个断点
finish:运行完整个函数
until:跳转至指定行,中间的代码已经执行
info (i)local:查看当前栈帧局部变量的值
set var :后面跟要修改变量的值,可以在运行过程中修改
bt:查看调用栈
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。