如何設定 Windows NT 偵錯符號

文章翻譯 文章翻譯
文章編號: 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 systems
HAL486C.DLL                HAL for 486 c step processor
HALAPIC.DLL                Uniprocessor version of HALMPS.DLL
HALAST.DLL                 HAL for AST SMP systems
HALCBUS.DLL                HAL for Cbus systems
HALMCA.DLL                 HAL for MCA-based systems (PS\2 and others)
HALMPS.DLL                 HAL for most Intel multiprocessor systems
HALNCR.DLL                 HAL for NCR SMP computers
HALOLI.DLL                 HAL for Olivetti SMP computers
HALSP.DLL                  HAL for Compaq Systempro
HALWYSE7.DLL               HAL for Wyse7 systems

HAL files for DEC Alpha Computers:

Filename                   Description
---------------------------------------------------
HAL0JENS.DLL               Digital DECpc AXP 150 HAL
HALALCOR.DLL               Digital AlphaStation 600 Family
HALAVANT.DLL               Digital AlphaStation 200\400 Family HAL
HALEB64P.DLL               Digital AlphaPC64 HAL
HALGAMMP.DLL               Digital AlphaServer 2x00 5\xxx Family HAL
HALMIKAS.DLL               Digital AlphaServer 1000 Family Uniprocessor HAL
HALNONME.DLL               Digital AXPpci 33 HAL
HALQS.DLL                  Digital Multia MultiClient Desktop HAL
HALSABMP.DLL               Digital AlphaServer 2x00 4\xxx Family HAL

HAL files for MIPS Computers:

Filename                   Description
---------------------------------------------------
HALACR.DLL                 ACER HAL
HALDTI.DLL                 DESKStation Evolution
HALDUOMP.DLL               Microsoft-designed dual MP HAL
HALFXS.DLL                 MTI with a r4000 or r4400
HALFXSPC.DLL               MTI with a r4600
HALNECMP.DLL               NEC dual MP
HALNTP.DLL                 NeTpower FASTseries
HALR98MP.DLL               NEC 4 processor MP
HALSNI4X.DLL               Siemens Nixdorf UP and MP
HALTYNE.DLL                DESKstation Tyne

HAL files for PPC Computers:

Filename                   Description
---------------------------------------------------
HALCARO.DLL                HAL for IBM-6070
HALEAGLE.DLL               HAL for Motorola PowerStack and Big Bend
HALFIRE.DLL                Hal for Powerized_ES,
                                   Powerized_MX, and
                                   Powerized_MX MP
HALPOLO.DLL                HAL for IBM-6030
HALPPC.DLL                 HAL for IBM-6015
HALWOOD.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

屬性

文章編號: 148659 - 上次校閱: 2006年11月1日 - 版次: 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
關鍵字:?
kbmt KB148659 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:148659
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