2010-09-18 50 views
5

我正在使用Visual Studio 2008.我不需要在我的項目中調試某些DLL,因此在調試Visual C++程序時可以禁用符號加載嗎?調試時有助於縮短啓動時間嗎?如何在調試Visual C++程序時禁用符號加載?

這些符號都是本地的,所以我沒有那些緩慢加載的問題,只是想更快更快地進行調試。

例如,我正在使用Qt庫,當我點擊「正在開始調試」時,輸出窗口顯示已加載Qt庫的符號。如果VS可以停止加載這些符號,則調試啓動時間應該更快。當然,我仍然希望VS爲我的可執行文件加載符號。

回答

0

我不確定'startup'是什麼意思。我假設你正在討論啓動實際應用程序。無論啓動目標應用程序的模式如何,啓動目標應用程序的時間都很昂貴。它在釋放時可能會更少,但是可以忽略不計。

關閉其他解決方案中提到的所有符號路徑是一個可行的選項。但是,我不確定爲什麼你正在調試,如果你不想爲你啓動的應用程序的符號。如果沒有應用程序符號,在調試時將無法看到源代碼中的位置。

如果您正在尋找更快的調試體驗,您可以使用WinDbg。它隨Windows SDK一起提供,但也可以單獨下載。如果是比Visual Studio更快的用戶界面,但是如果您更熟悉GUI,則更麻煩。 WinDbg使用命令來執行幾乎所有的任務,但是你可以做一些很好的調試,並且與Visual Studio相比,它在許多情況下更快。如果您想調試C++ \ CLI或任何託管應用程序(例如C#),我會堅持使用Visual Studio。 WinDbg中有一個名爲SOS的擴展,但它需要一些高級調試經驗才能正確使用。

+0

使用WinDbg獲得調試器性能的好處不會超過繼續使用完整IDE的OP的生產效益。 WinDbg有其自己的位置 - 我仍然使用它來對本地代碼中的惡意錯誤進行事後調試,例如堆棧溢出或損壞,其中IDE拋出了它的手或完全爆炸 - 但是在99%的情況下,VS對於本地C++來說會很好以及託管代碼。 – 2010-09-18 14:11:00

+0

我的意思是在Visual Studio中點擊「開始調試」時的開始時間。我想調試我的應用程序,但不是它加載的DLL,例如Qt庫。也許我應該在調試時嘗試使用發佈版本的庫。 – fxam 2010-09-18 14:12:02

+0

如果您想縮短髮布時間,請刪除相關庫中的符號。在這種情況下,符號文件(pdbs)可能就在Qt庫二進制文件的旁邊。刪除它們,它們將不會被加載。二進制文件的構建類型不會在很大程度上增加您的調試啓動時間。 – linuxuser27 2010-09-18 15:35:41

18

剛發現Visual Studio 2010實際上是做我想做的。

只加載您的可執行文件的符號,而無需加載其他符號(例如:DLL文件):

  1. 進入工具 - >選項 - > Debugging->符號
  2. 點擊「只有指定的模塊毗鄰模塊‘
  3. 點擊‘指定模塊’
  4. 清除’始終載荷符號點擊新圖標
  5. 輸入您的EXE (例如:my-awesome-app.exe)

還發現Visual Studio 2010在調試時似乎比Visual Studio 2008執行得更好。調試停止後,至少IDE佈局切換回來的速度會更快。

+3

+1好方法。 – linuxuser27 2010-09-18 16:29:37

+0

終於有用的東西。第3步非常重要。 – mathiasfk 2016-09-30 14:04:33

相關問題