我的应用程序仅在发布模式下以某种方式关闭。我甚至无法看到调用堆栈。我想这一切都被打破了。仅在发布模式下发生错误
它在调试模式下工作正常。可能是什么问题?或者我怎样才能找出问题所在?
另一个问题是,我想尝试使用未初始化变量的调试模式。我的意思是,据我所知,在调试模式下,所有的变量都被正确地初始化了(是吗?)。但不是在发布模式。所以我想尝试一下没有自动初始化模式的调试模式。这可能吗?
我正在使用VS2010,C++,directX,Windows 7.谢谢。
我的应用程序仅在发布模式下以某种方式关闭。我甚至无法看到调用堆栈。我想这一切都被打破了。仅在发布模式下发生错误
它在调试模式下工作正常。可能是什么问题?或者我怎样才能找出问题所在?
另一个问题是,我想尝试使用未初始化变量的调试模式。我的意思是,据我所知,在调试模式下,所有的变量都被正确地初始化了(是吗?)。但不是在发布模式。所以我想尝试一下没有自动初始化模式的调试模式。这可能吗?
我正在使用VS2010,C++,directX,Windows 7.谢谢。
在调试模式下,变量未被初始化,它们被填充了一个值,选择该值会导致您在使用时出现问题(非零,经常会导致溢出),并且可以被识别。
我的应用程序以某种方式只在释放模式关闭
您需要确定第一什么样的关闭是它。它崩溃,中止还是关闭?将断点放在所有可能的出口点(既有规则的,如WM_CLOSE),也有不规则的,如_abort。
如果没有命中断点,至少要在这里复制调试输出,看看主线程是如何终止的(告诉结果代码什么的可以给出更多信息)。
总结调试之间的差异,并释放:
您可以调整释放模式设置逐个直到“自动关机”匹配调试设置停止。然后你会知道要寻找什么样的问题。
尝试禁用优化,然后再试一次它是你的一些变量都没有初始化的时间
99%,检查非常仔细。
您也可以调试内置发布模式的应用程序。只需关闭所有优化,便于调试。 – Dialecticus 2011-03-20 16:42:43