回答

2

要調試一個dll,使用相同版本的符號文件是需要的。當你正在調試自己的應用程序時,你通常不必關心這一點。

但有些事情發生在後臺。當您構建應用程序時,Visual Stuart allways會將符號文件放入調試文件夾中,並按照Loading the symbols automatic中所述加載它們。

(當你發佈你的應用程序,你通常不希望分發這些符號,因此他們將不會被複制到release目錄你改變你的構建配置發佈。)

加載符號manuell

如果要手動加載符號,可以使用對話框Modules加載它們。

"Debug" -> "Windows" -> "Modules"

你可以右鍵點擊一行,並有「加載符號」選項,它可以讓你指定一個pdb文件加載。

enter image description here

自動加載的符號

的Visual Studio還全自動加載符號時,他們可以在以下位置之一找到。

  • 在DLL或可執行文件內指定的位置。 (默認情況下,如果您的計算機上已經生成了DLL或可執行文件,則鏈接程序會將關聯的.pdb文件的完整路徑和文件名放入DLL或可執行文件中。調試器首先檢查是否符號文件存在於DLL或可執行文件內部指定的位置,這很有幫助,因爲您的計算機上始終有可用於編譯的代碼的符號。)

  • 可能存在的.pdb文件在與DLL或可執行文件相同的文件夾中。

  • 任何本地符號緩存文件夾。
  • 指定的任何網絡,互聯網或本地符號服務器和位置,例如Microsoft符號服務器(如果啓用)。

enter image description here

如果您想了解更多有關符號如何與Visual Studio使用您可以閱讀this文章關於Understanding symbol files and Visual Studio’s symbol settings

相關問題