2013-03-12 47 views
0

我已經開發了一個使用Visual Studio 2010的C++程序,它的工作原理很完美,但試圖用調試文件夾中創建的.exe文件啓動它,而不是在VS2010內部,它崩潰。它更新我的DB一次,但然後它崩潰意外..從vs2010運行時運行.exe崩潰是成功的

有誰知道爲什麼嗎?我應該怎麼做才能避免它,以便能夠在另一臺PC上運行我的應用程序。它使用C的winsock庫和mysql API,所以我想知道如果我需要配置VS2010在連接時不能自己做的其他東西...

在此先感謝!

+0

你應該從終端('Win + R' - >'cmd')運行你的exe文件來查看崩潰時是否顯示任何錯誤 – Cyrille 2013-03-12 15:56:49

+0

它也在同一點崩潰,系統剛剛從VS2010啓動JIT調試器而win32不受控制的異常有4位數的不時變化的異常。 – aluncob 2013-03-12 16:08:50

+0

崩潰後,附加你的調試器,你應該能夠看到它的代碼行以及調用堆棧等。如果失敗了,請嘗試使用舊式的方法將消息丟到stdout(或日誌文件)來幫助您縮小失敗的代碼行,變量值等。 – 2013-03-12 16:28:01

回答

0

您是否依賴當前目錄?一旦出現問題,我們就會遇到這樣的情況。

+0

我會說不是。我忘記說的奇怪的事情是,它第一次更新我的數據庫,但然後它崩潰... – aluncob 2013-03-12 15:51:14

+0

如果你清除數據庫?有些東西告訴我,當讀取數據庫記錄時,你的代碼會咕嚕咕嚕。 – 2013-03-12 17:38:20

0

您應該將生成配置設置爲Release,並在重建應用程序後使用Release文件夾中的.exe文件。 Debug文件夾中的可執行文件(原則上)僅由Visual Studio在內部使用,因此將其重新分發是沒有意義的。

但是請注意,爲了運行用Visual C++創建的任何應用程序,用戶必須安裝visual C++可再發行組件包,因此請確保用戶已安裝。

+0

我也嘗試過可執行文件的發行版本,但它在同一時刻崩潰。此外,計算機中還安裝了Visual C++ 2010可再發行組件。 – aluncob 2013-03-12 16:04:26

+0

從命令行運行程序時會顯示什麼內容?是否有堆棧跟蹤或什麼? – antonijn 2013-03-12 16:26:11