使用二分法定位运行时异常崩溃bug

来源:互联网 发布:网络语灌水是什么意思 编辑:程序博客网 时间:2024/06/06 00:04

本文并无奇特技术,只是一种方法论。

最近用opengl做交通可视化模拟遇到一个蛋疼的bug。运行时屏幕上掠过n辆车以后必然崩溃,调试运行一切正常。最开始漫无目的地通过各种printf寻找异常点,但是十倍功半。后来简单动了动脑,开始有计划的找bug。

分别在可疑函数的开头和末尾加入

printf("entre myFunction");

printf("entre myFunction");

如此一来就能将bug定位的某一个函数中了。之后通过2分法的思想继续找下去直到确定具体位置。

这些小技巧听上去实在不值一提,不过有时候如果能想到这些确实能节省不少时间。


P.S. 找了好几天的bug,原因竟是 -1%5=-1, 本以为答案是4,,,好蛋疼啊。这才想起来很久以前遇到过,这个东西跟编译器有关。最开始写的时候还特意用微软自带的计算器算了一下……现在才发觉这是多么2的行为。

原创粉丝点击