软件调试技巧总结

来源:互联网 发布:南京大学软件学院考研 编辑:程序博客网 时间:2024/05/01 01:18

       几乎很少有人代码一写出来就运行成功的,一般都要经过n次的调试,修改方能出得了手。调试的作用有: 验证已写功能的正确性,发现没有处理的异常/错误, 试验新的方案等等。程序员的调试程序的能力一定程度上反映了他的开发能力。掌握实用高效的调试技巧能提高开发效率,保障软件的可靠性。

      我曾经老是用黑盒的测试方法进行调试,虽然问题最后都能解决,但是我耗费了大量的时间,大量的体力,而且软件的可靠性还得不到保障。几乎我是每加一项功能就启动程序进行功能验证,相信很多人也经历过这阶段。

      软件调试的方法大概有以下几种:

      1. 设置断点

           在你想查看变量,验证功能的地方设置断点,当程序运行到这时可以查看此处附近的变量值,是否在断点处完成了你想要实现的功能.   除了会设置断点外,我们还需要掌握如何进入一个函数,如何单步调试,如何切换断点等,请务必记住该ide的快捷键。如vs2008

F9设置断点,F5运行到断点,F10单步调试, F11进入到一个函数。

      2. DEBUG版本的日志显示

           调试建议都在debug版本下进行,我们可以程序中输出你想知道的变量值或完成某项功能的消息提示。这样的好处是我们可以批量知道整个程序的运行情况。debug显示在ide中的调试框内。

      3. 日志文件

           日志文件更多的使用在程序运行中,当程序出现bug或崩溃,将消息写入日志中。或将运行正确的状态记录,当不能正确记录日志时根据日志文件使可查出bug原因。  

      4. 快速浏览

           当软件规模较大时应快速得查找类,查看函数。  .h, .cpp之间的切换。 像carbide中的F3功能我就比较喜欢,但vs2008中一般都要右击弹出菜单,选择.h.cpp之间的切换。      

 

        有的顽固bug似乎很难找出,这就需要我们开发时尽量采用模块化的开发方式,不断缩小bug的范围,引用毛主席那句名言: 与bug斗其乐无穷。 实在不行,重写该模块可能还要比找出bug的时间少些,因为很多你是可以ctr+c +ctrl +v的。最后说一句,找bug凭感觉是不行的,小软件还可以,大一点的软件不行,说不定哪天就出错了。