C++ 如何调试导致计算机崩溃的代码

C++ 如何调试导致计算机崩溃的代码,c++,crash,freeze,C++,Crash,Freeze,我已经写了一个程序来控制几个科学仪器,当它运行时,这些仪器最终会经过几千个循环。所有这些都需要大约半个小时才能完成 我遇到了一个奇怪的错误/问题,大约每隔一次我运行程序时,程序就会冻结计算机,我必须硬重启。当我只是做少量的循环来测试程序时,我从来没有遇到过问题,只有当我尝试完整的数据运行时,它才会断断续续地崩溃 如果错误只是断断续续地发生,是否仍有跟踪错误的方法?在计算机冻结之前,是否有方法捕获错误?这可能与在调试模式下运行代码而不是在发布模式下运行代码有关吗 我在Win 7 7位机器上使用Vi

我已经写了一个程序来控制几个科学仪器,当它运行时,这些仪器最终会经过几千个循环。所有这些都需要大约半个小时才能完成

我遇到了一个奇怪的错误/问题,大约每隔一次我运行程序时,程序就会冻结计算机,我必须硬重启。当我只是做少量的循环来测试程序时,我从来没有遇到过问题,只有当我尝试完整的数据运行时,它才会断断续续地崩溃

如果错误只是断断续续地发生,是否仍有跟踪错误的方法?在计算机冻结之前,是否有方法捕获错误?这可能与在调试模式下运行代码而不是在发布模式下运行代码有关吗


我在Win 7 7位机器上使用Visual C++ 2013。所有不同的包括64位版本。我可以张贴代码,如果这将是有益的,但我必须警告,它是非常长的。感谢

测试过程如此之长,也许最好的“内部”处理方法是在程序几乎每一步都将所需的调试信息写入文件中

请确保每次都关闭该文件,否则在冻结时可能会丢失数据

当然,这将花费更多的时间,但是如果幸运的话,并且错误有一定的规律性,经过几次检查后,您可以使用条件断点,并以通常的方式进行调试

如果我不得不打赌原因,我会说这是内存泄漏。
希望这有助于电脑冻结?那太恶心了。。。您是否尝试在其他计算机/虚拟系统上运行该功能?你监控过内存消耗等吗?可能与“科学仪器”驱动程序的交互有关@MitchWheat no valgrind for windows…@thang-是的,驱动程序:(