gdb适用场景和不适用场景

工程中,经常用gdb调试bug,谈谈其适用性和不适用性。

适合的场景:

1)验证程序的逻辑

             给定条件,得到正确的结果
2)查看现场

             各种全局、局部变量,对象的值

              寄存器、内存

              调用栈

 

不适合的场景:


1)每次crack现象不一样的场景,即异常产生的场景不能反映导致异常的原因
       可能造成的原因:
          a) 不正当使用系统函数,会导致系统进入无法预知的状态
               中断服务程序里写log
          b) 栈溢出
               程序调用导致栈溢出
          c) 野指针
               指针定义后没有初始化,free后没有设置成NULL,
               写访问这样的指针,会导致异常

2)线程间访问共享资源
       共享资源当前状态不能反映正确场景,导致程序逻辑错误

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值