我这里遇到了类似于“薛定谔的猫”问题 -- 我的程序(实际上是测试套件,但仍然是一个程序)在发布模式下启动命令行时崩溃。通过类似于穴居人式的调试(即,在各个地方添加一些nasty printf()消息),我已经确定了导致代码崩溃的测试方法,但不幸的是,实际的崩溃似乎发生在某个析构函数中,因为我看到的最后一条跟踪消息是在其他执行良好的析构函数中。
当我尝试在Visual Studio内运行此程序时,它并没有崩溃。从WinDbg.exe启动也是一样的情况。只有从命令行启动时才会出现崩溃。顺便说一句,这在Windows Vista下发生,不幸的是我现在没有XP机器可以测试。
如果能让Windows打印出栈跟踪或者其他有意义的信息,而不是像正常退出程序一样终止程序,那就太好了。是否有人能给出任何建议,以便我能够在这里获取更多有意义的信息并修复此错误?
编辑:问题确实是由一个越界数组引起的,我在这篇文章中更详细地描述了它。感谢大家帮助找到这个问题!
当我尝试在Visual Studio内运行此程序时,它并没有崩溃。从WinDbg.exe启动也是一样的情况。只有从命令行启动时才会出现崩溃。顺便说一句,这在Windows Vista下发生,不幸的是我现在没有XP机器可以测试。
如果能让Windows打印出栈跟踪或者其他有意义的信息,而不是像正常退出程序一样终止程序,那就太好了。是否有人能给出任何建议,以便我能够在这里获取更多有意义的信息并修复此错误?
编辑:问题确实是由一个越界数组引起的,我在这篇文章中更详细地描述了它。感谢大家帮助找到这个问题!