我这里遇到的是“薛定inger之猫”类型的问题-我的程序(实际上是我程序的测试套件,但仍然是一个程序)崩溃了,但仅在以发布模式构建时才出现,并且仅在从命令行启动时才崩溃。通过穴居人调试(即到处都是讨厌的printf()消息),我确定了代码崩溃的测试方法,尽管不幸的是,实际的崩溃似乎发生在某些析构函数中,因为我看到的最后一条跟踪消息在其他执行干净的析构函数。
当我尝试在Visual Studio中运行该程序时,它不会崩溃。从WinDbg.exe启动时也是如此。仅在从命令行启动时才发生崩溃。顺便说一句,这是在Windows Vista下发生的,不幸的是,我现在无法使用XP计算机进行测试。
这将是非常好的,如果我能得到的Windows打印出堆栈跟踪,或一些其他不是简单地结束,如果它已经退出干净方案。关于我如何在此处获取一些更有意义的信息并希望修复此错误,是否有人有任何建议?
编辑:问题确实是由越界数组引起的,我将在本文中对此进行更多描述。感谢大家为发现此问题所提供的帮助!