当前位置:   article > 正文

Linux gdb调试

Linux gdb调试

目录

关于调试的理解

gdb相关指令


设置断点的目的:缩小查找范围,调试的正确思路:先确定错误范围,然后再在范围内逐语句执行查找

关于调试的理解

debug:测试版本(可以被调试)
release:成熟版本(不可以被调试)

为什么dbug版本可以被调试呢?
因为编译器在形成可执行程序的时候会给可执行程序添加调试信息

gcc/g++编译时采用release模式
想要以dbug模式编译,要在命令行后面加一个-g

为什么软件版本要分为release和dbug版本呢?
1、用户不需要调试信息,所以只需要release
2、程序员需要调试信息进行调试
所以,分成两个版本

而测试人员测试的是release版本,代表用户

gdb相关指令


启动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:查看调用栈

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/448701
推荐阅读
相关标签
  

闽ICP备14008679号