我已經開發了一個使用Visual Studio 2010的C++程序,它的工作原理很完美,但試圖用調試文件夾中創建的.exe文件啓動它,而不是在VS2010內部,它崩潰。它更新我的DB一次,但然後它崩潰意外..從vs2010運行時運行.exe崩潰是成功的
有誰知道爲什麼嗎?我應該怎麼做才能避免它,以便能夠在另一臺PC上運行我的應用程序。它使用C的winsock庫和mysql API,所以我想知道如果我需要配置VS2010在連接時不能自己做的其他東西...
在此先感謝!
我已經開發了一個使用Visual Studio 2010的C++程序,它的工作原理很完美,但試圖用調試文件夾中創建的.exe文件啓動它,而不是在VS2010內部,它崩潰。它更新我的DB一次,但然後它崩潰意外..從vs2010運行時運行.exe崩潰是成功的
有誰知道爲什麼嗎?我應該怎麼做才能避免它,以便能夠在另一臺PC上運行我的應用程序。它使用C的winsock庫和mysql API,所以我想知道如果我需要配置VS2010在連接時不能自己做的其他東西...
在此先感謝!
您是否依賴當前目錄?一旦出現問題,我們就會遇到這樣的情況。
我會說不是。我忘記說的奇怪的事情是,它第一次更新我的數據庫,但然後它崩潰... – aluncob 2013-03-12 15:51:14
如果你清除數據庫?有些東西告訴我,當讀取數據庫記錄時,你的代碼會咕嚕咕嚕。 – 2013-03-12 17:38:20
您應該將生成配置設置爲Release
,並在重建應用程序後使用Release
文件夾中的.exe文件。 Debug
文件夾中的可執行文件(原則上)僅由Visual Studio在內部使用,因此將其重新分發是沒有意義的。
但是請注意,爲了運行用Visual C++創建的任何應用程序,用戶必須安裝visual C++可再發行組件包,因此請確保用戶已安裝。
你應該從終端('Win + R' - >'cmd')運行你的exe文件來查看崩潰時是否顯示任何錯誤 – Cyrille 2013-03-12 15:56:49
它也在同一點崩潰,系統剛剛從VS2010啓動JIT調試器而win32不受控制的異常有4位數的不時變化的異常。 – aluncob 2013-03-12 16:08:50
崩潰後,附加你的調試器,你應該能夠看到它的代碼行以及調用堆棧等。如果失敗了,請嘗試使用舊式的方法將消息丟到stdout(或日誌文件)來幫助您縮小失敗的代碼行,變量值等。 – 2013-03-12 16:28:01