使用 Microsoft 的符號伺服器,以取得偵錯符號檔

文章翻譯 文章翻譯
文章編號: 311503 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何參考 Microsoft 符號伺服器,以取得符號偵錯資訊。

按一下播放按鈕以檢視此串流媒體示範。附註若要欲這段影片 7.0 (含) 以後版本的 Windows 媒體播放程式必須安裝在您的電腦上。如需詳細資訊請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
299321描述和可用性的 Windows 媒體播放機 7.1
當您偵錯應用程式的各種 Microsoft 工具,您必須有符號資訊。 符號檔提供的可執行檔和動態連結程式庫 (DLL) 中所包含之函式的使用量。 此外,符號檔可以呈現的失敗點會導致該函式呼叫的藍圖。 就例如您必須有符號,當傾印在偵錯工具內的呼叫堆疊。 本文將告訴您如何使用 Microsoft 的符號伺服器,藉由指定各種偵錯工具到下列 URL:
http://msdl.microsoft.com/download/symbols
附註http://msdl.microsoft.com/download/symbols 不是可瀏覽,且只適用於存取偵錯工具。

其他相關資訊

使用符號伺服器技術

Microsoft 符號伺服器建置使用 SymSrv 技術 (SymSrv.dll) 所提供的 Windows 偵錯工具套件中。 SymSrv 建置快速、 自動的符號解析的本機符號快取。

很簡單,因為符號路徑中使用適當的語法使用符號伺服器。 通常,語法會採用下列格式:
SRV *您的本機符號] 資料夾*http://msdl.microsoft.com/download/symbols
位置您的本機符號] 資料夾可以是任何磁碟機或作為符號目的地的共用。

就例如設定 WinDbg 偵錯工具中的符號路徑,輸入下列命令在 [命令] 視窗的偵錯工具中:
SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols.sympath
若要取得最新的 SymSrv 功能,您必須安裝最新的偵錯的封裝。 如果要取得最新版的 Windows 偵錯工具套件的請造訪下列 Microsoft 網站:
Microsoft 的偵錯工具
http://www.microsoft.com/whdc/devtools/ddk/default.mspx
關於符號伺服器技術的詳細資訊,請參閱 [Debuggers.chm 幫助隨附的 Windows 偵錯工具套件的檔案。

設定 _NT_SYMBOL_PATH 環境變數

如果您提供的是正確的常見的 Microsoft 偵錯工具會使用 SymSrv 技術symsrv_NT_SYMBOL_PATH 環境變數中的語法。 這些工具會自動包含與符號路徑變數中提供的任何項目。

您可以設定這個變數,作為系統變數或使用者環境變數。 若要從桌面執行這項操作上, 按一下滑鼠右鍵[我的電腦然後按一下屬性. 在進階索引標籤上按一下環境變數.

您也可以在命令提示字元暫時設定這個變數。 以此方式透過命令提示字元啟動的所有應用程式會繼承此設定。 例如:
設定 _NT_SYMBOL_PATH = symsrv*symsrv.dll*f:\localsymbols*http://msdl.microsoft.com/download/symbols

使用 WinDbg 的 Microsoft 符號伺服器

若要使用 [從符號伺服器 Web 網站內 WinDbg,請遵循下列步驟:
  1. 啟動 Windows 偵錯工具 (WinDbg.exe)。
  2. 檔案功能表,按一下符號檔案路徑.
  3. 符號路徑方塊中,輸入下列命令:
    SRV *您的本機資料夾的符號*http://msdl.microsoft.com/download/symbols
    位置您的本機資料夾的符號您將複製您的本機符號快取的資料夾。 偵錯符號會下載到這個位置。

    附註您可以指向任何本機路徑或共用您的電腦可以到達 ; 它並不一定要在電腦的硬碟上的位置。
或者,您也可以使用.sympath在命令提示字元來設定符號路徑] 指令。

您可以結合symsrv使用其他符號路徑語法。 若要指定兩個或多個符號路徑中,就例如使用下列語法:
f:\BusObjSymbols;SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols
這個語法會以分號隔開符號路徑。

開始偵錯損毀傾印檔案或應用程式時 Windows 的偵錯工具會檢查它所載入的模組的符號資訊是否在本機資料夾中。 If the symbol information of the module is not located in the local folder, WinDbg tries to download the appropriate symbol file or files from the Symbol Server.

If you use the same local cache when you debug an application on a computer that has different file versions, symbols for the different versions are downloaded and stored with the first symbols. The SymStore format stores files according to the time stamp and the size of the image (or checksum). As a result, symbols from different product versions can coexist side by side. (SymStore.exe is a utility from the Debugging Tools for Windows package that generates a symbol server. For more information, see the product documentation.)

Because it may take time to download symbol files, keep in mind that the debugger may appear to stop responding (hang) the first time that you debug an application. This occurs because most of the symbol files for the system DLLs (such as Ntdll.dll, Kernel32.dll, and others) must be downloaded.

Using the SymChk.exe utility to download symbols

You can use the SymChk.exe utility to verify symbols and to build a local symbol cache in a convenient, noninvasive way. The SymChk.exe utility is included with the Debugging Tools for Windows package. SymChk.exe is a command-line tool. You may want to add the folder of the Debugging Tools for Windows package to the PATH environment variable on your system so that you can access this tool easily from any command prompt.

To use the SymChk.exe utility to download symbol files for all of the components in the Windows\System32 folder, use the following command-line command:
symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
In this example:
  • /r c:\windows\system32finds all symbols for files in the System32 folder and any subfolders.
  • /s SRV*c:\symbols*http://msdl.microsoft.com/download/symbolsspecifies the symbol path to use for symbol resolution. In this case,c:\symbolsis the local folder where the symbols will be copied from the symbol server.
To obtain more information about the command-line options for SymChk.exe, typesymchk /?at a command prompt. Other options include the ability to specify the name or the process ID (PID) of an executable file that is running.

屬性

文章編號: 311503 - 上次校閱: 2010年12月2日 - 版次: 0.1
這篇文章中的資訊適用於:
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
關鍵字:?
kbfile kbinfo kbsample kbmt KB311503 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:311503
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com