几个常用的软件调试技巧


  1. 加断点单步执行查看程序是否跑的和你想想中的一样,加的方法不同的平台不同的IDE可能不一样,请查看帮助文档,windows平台一般情况可视化工具比较方便一些,比如VS和Eclipse等一些IDE还是不错的,但在linux下用vim的还是比较多,gdb,ddd都是不错的调试工具;
  2. 在调试的时候加断言assert,但是在生成最后库或代码的时候请记得利用#define NODEBUG取消掉断言,否则会很大程度上影响效率;
  3. 采用printf或类似的方法,打印出相应的信息,或相应变量的值,这个方法最常用,也很好用,而且也可以按照自己的习惯来定制出各种各样的方法;
  4. 利用中断的形式在相应的地方加上int 3中断调试指令,机器码为0xCC,3号中断属于陷阱类异常,该中断从X86的8086cpu上就已经加入,当程序运行到这个地方的时候cpu会产生中断异常此时pc指针会指向该指令下一条指令处,但是有些操作系统会做调整而指向该指令处;
  5. 将stderr导向到文件中,查看添加的错误类型及运行情况;
  6. GetLastError? ()在调试过程中每次调用完API函数之后调用该函数其值由两部分组成,一个是错误代码(十六进制),另一个是错误代码所对应的文本提示。可以在监视窗口添加$err,sh来查看;
  7. 在上一个方法中,还可以在监视窗口中添加eax来查看eax的值,此时eax寄存器的值为错误代码,将此代码复制,利用errorlookup工具查看此代码的错误文本提示信息即可;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值