我的問題非常普遍。在IDE中運行程序並通過.exe運行程序之間有重要區別嗎?
我做了一個關於winsock2上的客戶端 - 服務器應用程序的巨型巨型項目。
事實是:我的應用程序完美的作品,如果我打開在Visual Studio 2015年的項目,我從那裏運行,但如果我通過雙擊他的.exe文件打開服務器上的文件我的客戶端犯規顯示任何內容。
我不會發布代碼,因爲它就像500行,但我問:我應該關心一些不同的東西,當我從.exe運行程序?我怎麼能注意到如果出現問題?
P.s.我已經從Visual Studio中調試過了,當它從.exe啓動時它不會引發任何異常/錯誤(它根本不顯示任何內容)。 服務器是用C++編寫的客戶端程序。
更新:它的工作原理,如果我從bash運行它,我的意思是打開cmd.exe。它仍然無法通過雙擊.exe。一切都好嗎?我可以說我有一個工作計劃嗎?
'我怎麼能注意到是否有問題?' - 使用類似log4net的東西來記錄所有內容。在您的配置中有一個日誌記錄級別,用於決定要輸出的內容。將日誌級別設置爲verbose,運行程序,讀取日誌。 – Equalsk
*不顯示任何內容*它應該做什麼?無論如何,主要區別在於VS的環境與全球的環境不一樣。 – stijn
工作目錄不同,這意味着文件和目錄的相對路徑不同。您可能在IDE中設置了一些環境變量或命令行參數,這些參數在雙擊可執行文件時未設置。您需要確保您正確地處理錯誤,並且您有默認值和可用的後備值。另外,首先嚐試從控制檯窗口運行,以確保它在那裏工作。從不同的目錄運行。測試一下。並有大量的日誌記錄。 –