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