2016-11-22 82 views
-1

我有一個程序。如果它在Visual C++ 2008調試器內運行,那麼一切正常。但是如果調試版本在調試器外部運行,那麼它將不起作用。所以我只是想知道兩種情況之間的主要區別是什麼?運行VS內部和外部調試器有什麼區別?

感謝

+2

你說的「它不會工作」是什麼意思? –

回答

0

這裏有一個解釋,你需要了解調試和版本之間的差異建立幾乎所有的通用指南:Surviving the Release version

+2

儘管鏈接可能有用,但答案應自成一體。事實並非如此,這更多的是評論。 – StoryTeller

+0

@StoryTeller對不起,我剛剛從這裏開始,並沒有意識到這一點。我將來會記住這一點。因此,這個特定的問題過於寬泛,幾乎沒有提供任何信息,並且在一篇文章中以這樣的方式回答,這將是非常困難的。 –

0

如果您能夠運行使用調試程序(「F5 「)在Visual Studio中,

您可能遇到某種形式缺少的相關性,如缺少.dll文件或環境變量。 你可以驗證這個打開命令行並運行vcvarsall.bat,然後運行你的程序。或者,使用Windows開始菜單中的Visual Studio命令行運行程序。

根據您的安裝vcvarsall.bat通常位於:

C:\ Program Files文件(x86)的\微軟的Visual Studio \ VC \ vcvarsall.bat

如果你的程序仍不能執行,您可以使用Dependency Walker找出您的程序可能具有的其他可能依賴關係。

然而,如果沒有對這個問題的詳細信息,您遇到,我只能爲你提供一些其他可能的初學者的例子:

沒有彈出錯誤信息,控制檯應用程序,與 沒有可見雙擊程序反應。

默認情況下,控制檯應用程序不會在完成執行後保持其控制檯處於活動狀態。所以如果你的程序太快了,你可能看不到它在「運行」。您可以在程序結束時添加system("pause");,以防止其立即關閉。

沒有Pop錯誤消息,Windows應用程序,沒有GUI代碼,雙擊 程序沒有可見的反應。

你的程序在後臺運行可能已經。使用任務管理器驗證這個過程,看看這個過程是否在那裏列出。如果您使用printfstd::out,則需要使用命令行運行程序以查看輸出。

相關問題