我的程序中有一个非常讨厌的错误,随着时间的推移变得非常复杂。这可能是我曾经遇到过的最糟糕的错误。
我认为它可能与静态变量初始化惨败有关,但我怎样才能确保自己呢?
当bug出现时,程序在启动后的随机点由于堆损坏而崩溃,但远在main()函数内部。
说实话,我不知道该怎么做。
我在使用Microsoft Visual Studio 2010的Windows 7上
答案 0 :(得分:1)
我的计划,变得相当复杂 随着时间的推移
您是否保留以前版本的备份? 找到一个有效的旧版本并继续使用该版本...
有一句名言: “调试的难度是首先编写代码的两倍。因此,如果你尽可能巧妙地编写代码,那么根据定义,你不够聪明,无法调试它。” --Brian Kernighan
如果这个程序变得比你能处理的更复杂,那么可能是时候考虑重构了。
(这绝不是贬低或被视为人身攻击......)
答案 1 :(得分:0)
在调试器中运行程序,然后逐步执行代码,直到看到错误。在您认为可能导致错误的任何地方放置断点。
答案 2 :(得分:-2)
尝试使用gdb调试程序。