我的應用程序僅在發佈模式下以某種方式關閉。我甚至無法看到調用堆棧。我想這一切都被打破了。僅在發佈模式下發生錯誤
它在調試模式下工作正常。可能是什麼問題?或者我怎樣才能找出問題所在?
另一個問題是,我想嘗試使用未初始化變量的調試模式。我的意思是,據我所知,在調試模式下,所有的變量都被正確地初始化了(是嗎?)。但不是在發佈模式。所以我想嘗試一下沒有自動初始化模式的調試模式。這可能嗎?
我正在使用VS2010,C++,directX,Windows 7.謝謝。
我的應用程序僅在發佈模式下以某種方式關閉。我甚至無法看到調用堆棧。我想這一切都被打破了。僅在發佈模式下發生錯誤
它在調試模式下工作正常。可能是什麼問題?或者我怎樣才能找出問題所在?
另一個問題是,我想嘗試使用未初始化變量的調試模式。我的意思是,據我所知,在調試模式下,所有的變量都被正確地初始化了(是嗎?)。但不是在發佈模式。所以我想嘗試一下沒有自動初始化模式的調試模式。這可能嗎?
我正在使用VS2010,C++,directX,Windows 7.謝謝。
在調試模式下,變量未被初始化,它們被填充了一個值,選擇該值會導致您在使用時出現問題(非零,經常會導致溢出),並且可以被識別。
我的應用程序以某種方式只在釋放模式關閉
您需要確定第一什麼樣的關閉是它。它崩潰,中止還是關閉?將斷點放在所有可能的出口點(既有規則的,如WM_CLOSE),也有不規則的,如_abort。
如果沒有命中斷點,至少要在這裏複製調試輸出,看看主線程是如何終止的(告訴結果代碼什麼的可以給出更多信息)。
總結調試之間的差異,並釋放:
您可以調整釋放模式設置逐個直到「自動關機」匹配調試設置停止。然後你會知道要尋找什麼樣的問題。
嘗試禁用優化,然後再試一次它是你的一些變量都沒有初始化的時間
99%,檢查非常仔細。
您也可以調試內置發佈模式的應用程序。只需關閉所有優化,便於調試。 – Dialecticus 2011-03-20 16:42:43