如何设置 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 [光驱]: \SUPPORT\DEBUG\I386 C:\SYMBOLS /S.
  3. 将该符号为适当的服务包复制到该自定义控制台树中。 FTP.MICROSOFT.COM 上找不到服务包的符号。

    例如对于 Windows NT 3.51 Service Pack 4 符号可从以下位置下载:

    \bussys\winnt\winnt-public\fixes\usa\NT351\ussp4\symbols
    下载的文件称为 SYM_351 <x>.EXE 其中 X 表示该平台 (x 86 Alpha 的 A、 P 表示 PPC 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


如果系统是一个多处理器,请执行下列操作:
  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"使用写字板。
注: 此相同的技术可用于验证是否还使用一个特殊的内核。

复制 HAL 入符号树,请执行以下操作:
  1. 将目录更改为 \SYMBOLS\DLL。
  2. 重命名 HAL.X86 HAL.DBG。
  3. 将在"自定义 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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 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