如何設定 Windows NT 偵錯符號

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:148659
本文已封存。本文係以「現狀」提供且不會再更新。
結論


Windows NT 偵錯符號必須如果電腦需要從遠端進行設定,或在本機進行偵錯。本文提供如何設定 Windows NT 偵錯符號的指示。
其他相關資訊

文件內容

  • 什麼是符號
  • 設定自訂的符號樹狀結構
  • 單一處理器與多處理器的比較
  • 自訂 HAL.DLL
  • 在符號後建立樹狀目錄

什麼是符號

偵錯符號檔 (符號) 所需進行核心和使用者模式中 Windows NT 符號偵錯提供方法來解決全域變數,且無法載入可執行檔的名稱。

符號是由連結器所產生的程式建置時。它們是剔除零售產品,並且儲存在不同的 (.DBG) 檔案。 這大幅地減少檔案大小會減少檔案載入時間,並因此可以增加系統效能。符號代表 Function\API 名稱和全域變數。

.DBG 檔案包含每個檔案的符號的資訊。您可以在 SUPPORT\DEBUG\ <platform>找到 \SYMBOLS 目錄的 Windows NT 安裝光碟片。

已經安裝補充程式的組建,例如 Service Pack 需要一組特殊的符號,是基底的組建與已經安裝補充程式的符號的組合。

符號目錄是劃分為稱為延伸子目錄 (請注意許多符號檔,這些目錄中符合的 Windows NT 的 USER MODE 元件) 的七個子目錄:

   COM - symbols for all files ending in .COM go here   CPL - symbols for all files ending in .CPL go here.   DLL - symbols for all files ending in .DLL go here   DRV - symbols for all files ending in .DRV go here   EXE - symbols for all files ending in .EXE go here   SCR - symbols for all files ending in .SCR go here   SYS - symbols for all files ending in .SYS go here.


符號必須符合其個別的檔案。從不同的建置符號提供錯誤的資訊。 所有符號檔案的連結日期必須符合正在進行偵錯電腦上。

設定自訂的符號樹

符號樹狀結構是子目錄樹狀結構,其中包含此符合遠端電腦進行偵錯的符號檔案在主機電腦上。
  1. 在主機電腦上建立一個子目錄。例如:
    MKDIR C:\SYMBOLS
  2. 永遠開頭基底的 Windows NT 版本號碼。從適當的版本,安裝光碟片複製下列檔案:
    XCOPY [CD 磁碟機]: \SUPPORT\DEBUG\I386 C:\SYMBOLS /S.
  3. 適當的 Service Pack 符號複製到自訂的樹狀結構。 Service Pack 符號 FTP.MICROSOFT.COM 上找不到。

    比方說 Windows NT 3.51 服務套件 4 的符號可從下列位置下載:

    \bussys\winnt\winnt-public\fixes\usa\NT351\ussp4\symbols
    下載的檔案稱為 SYM_351 <x>.EXE 其中 X 表示平台 (如 x 86 Alpha 的 A、 粒子砲的 P I)。

    解壓縮檔案到符號樹狀結構。例如:
    <x>.EXE-d C:\SYMBOLS SYM_351
  4. 將任何協力廠商修補程式的如 Compaq SSD 的符號複製到自訂符號樹狀目錄中。必須從協力廠商取得這些符號。
  5. 如果 Microsoft 已提供唯一的修正程式的安裝,複製到適當的子目錄提供的修正程式的 DBG 檔案 (例如: SYS EXE,DLL)。
  6. 如果電腦單一處理器 Intel 系統符號樹狀目錄已完成。請參閱下面的"之後 [符號樹狀結構是建立 」 一節。

單一處理器與多處理器的比較

Windows NT 的 SMP 系統使用特殊的核心。在安裝期間會重新命名這個核心。請務必 DBF 檔案重新命名為偵錯。

   NTOSKRNL.EXE  NTOSKRNL.DBG  = Single processor   NTKRNLMP.EXE  NTKRNLMP.DBG  = Multiple processors


如果系統是 Multi-Processor 請執行下列動作:
  1. 將目錄變更到 DLL 元件目錄。例如:
    CHDIR C:\SYMBOLS\DLL
  2. 重新命名單一處理器核心到另一個檔名。例如:
    重新命名 NTOSKRNL.DBG NTOSKRNL.UNI
  3. 單一處理器核心要複製多處理器核心。例如:
    COPY NTKRNLMP.DBG NTOSKRNL.DBG

自訂 HAL.DLL

某些硬體平台需要特殊的硬體抽象層 (HAL) 驅動程式。像核心的檔案自訂的 HAL 會在安裝過程中重新命名。以下是常見的 HAL 的清單:

I386 電腦的 HAL 檔案:

Filename                   Description---------------------------------------------------HAL.DLL                    Standard HAL for Intel systemsHAL486C.DLL                HAL for 486 c step processorHALAPIC.DLL                Uniprocessor version of HALMPS.DLLHALAST.DLL                 HAL for AST SMP systemsHALCBUS.DLL                HAL for Cbus systemsHALMCA.DLL                 HAL for MCA-based systems (PS\2 and others)HALMPS.DLL                 HAL for most Intel multiprocessor systemsHALNCR.DLL                 HAL for NCR SMP computersHALOLI.DLL                 HAL for Olivetti SMP computersHALSP.DLL                  HAL for Compaq SystemproHALWYSE7.DLL               HAL for Wyse7 systemsHAL files for DEC Alpha Computers:Filename                   Description---------------------------------------------------HAL0JENS.DLL               Digital DECpc AXP 150 HALHALALCOR.DLL               Digital AlphaStation 600 FamilyHALAVANT.DLL               Digital AlphaStation 200\400 Family HALHALEB64P.DLL               Digital AlphaPC64 HALHALGAMMP.DLL               Digital AlphaServer 2x00 5\xxx Family HALHALMIKAS.DLL               Digital AlphaServer 1000 Family Uniprocessor HALHALNONME.DLL               Digital AXPpci 33 HALHALQS.DLL                  Digital Multia MultiClient Desktop HALHALSABMP.DLL               Digital AlphaServer 2x00 4\xxx Family HALHAL files for MIPS Computers:Filename                   Description---------------------------------------------------HALACR.DLL                 ACER HALHALDTI.DLL                 DESKStation EvolutionHALDUOMP.DLL               Microsoft-designed dual MP HALHALFXS.DLL                 MTI with a r4000 or r4400HALFXSPC.DLL               MTI with a r4600HALNECMP.DLL               NEC dual MPHALNTP.DLL                 NeTpower FASTseriesHALR98MP.DLL               NEC 4 processor MPHALSNI4X.DLL               Siemens Nixdorf UP and MPHALTYNE.DLL                DESKstation TyneHAL files for PPC Computers:Filename                   Description---------------------------------------------------HALCARO.DLL                HAL for IBM-6070HALEAGLE.DLL               HAL for Motorola PowerStack and Big BendHALFIRE.DLL                Hal for Powerized_ES,                                   Powerized_MX, and                                   Powerized_MX MPHALPOLO.DLL                HAL for IBM-6030HALPPC.DLL                 HAL for IBM-6015HALWOOD.DLL                HAL for IBM-6020


如何判斷要使用哪一個 HAL:

安裝,期間建立文字記錄檔。這個檔案含有線條哪些節目在安裝期間安裝的 HAL。如果在原始的安裝之後已經變更 HAL,[SETUP.LOG 就不會反映變更。若要驗證,請執行下列動作:
  1. 前往 %SystemRoot%\REPAIR 子目錄。
  2. 執行 ATTRIB R-H-S SETUP.LOG 看見檔案。
  3. 使用記事本來檢視 SETUP.LOG 和哈 」 的搜尋。
注意: 這個相同的技巧可以用來確認是否也會使用特殊的核心。

將 [HAL 複製到符號樹狀結構:
  1. 將目錄變更為 \SYMBOLS\DLL。
  2. 重新命名 HAL.X86 HAL.DBG。
  3. 將 [Custom HLL.DBG 複製到 HAL.DBG。

在符號後建立樹狀目錄

符號樹狀結構現在已完成的。如需詳細資訊出下列文字在此 「 Microsoft 知識庫 」 中的查詢:
debugref
3.50 3.51 prodnt debugref

警告:本文為自動翻譯

內容

文章識別碼:148659 - 最後檢閱時間:12/04/2015 14:23:44 - 修訂: 3.1

Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51

  • kbnosurvey kbarchive kbmt KB148659 KbMtzh
意見反應