2011-04-29 76 views
0

我遇到了以下問題:發佈版本在VS2010中未經調試運行時無法正常工作

我使用VS2010編寫C++程序。調試版本在VS中進行/不進行調試時運行正常。當我直接啓動構建的可執行文件時,它也可以運行

當我在VS和alsp中進行調試運行時,發佈版本可以直接啓動生成可執行文件。

不幸的是,當我在VS中運行版本構建 - 無需調試時,程序不起作用。窗口被創建,然後程序迅速崩潰(沒有任何錯誤消息)。由於它在沒有調試的情況下運行時崩潰,所以我不知道如何確定導致問題的原因。

任何想法可能導致這種情況?謝謝:)

+0

那麼,直接通過Windows資源管理器啓動release-build可執行文件並在Visual Studio中運行而不進行調試之間有什麼區別? – Martin 2011-04-29 20:40:21

回答

3

這似乎很可能你有某種內存錯誤/腐敗,恰好在調試器中正常工作。

你可以嘗試使用cout來隔離它死亡的距離,或者嘗試像Purify這樣的工具(或者如果你可以移植到Linux上,valgrind是免費的)。

+0

移植到不同的操作系統是一個激進的,但可能是非常有效的調試方式:) – 2011-04-29 20:46:06

+0

謝謝,我試試cout :)但直接通過Windows資源管理器啓動.exe和運行沒有在Visual Studio中調試之間有什麼區別?當通過Windows資源管理器直接運行時,發佈版本可以正常工作。 – Martin 2011-04-29 20:49:01

+1

@malymato的區別將在內存的初始化。如果您的程序正在使用未初始化的變量,則默認的內存容量可能會導致不同的行爲。 – 2011-04-29 20:56:38

相關問題