How to Set Up Windows NT Debug SymbolsLast reviewed: May 28, 1996Article ID: Q148659 |
The information in this article applies to:
SUMMARYWindows NT Debug Symbols must be set up if a computer needs to be remotely or locally debugged. This article provides instructions on how to set up Windows NT Debug Symbols.
MORE INFORMATION
Article Contents
What Are SymbolsDebug Symbol files (symbols) are required to do both kernel and user-mode debugging in Windows NT. Symbols provide a way to resolve global variables and function names in the loaded executable file. Symbols are produced by the linker when a program is built. They are stripped out of the retail product and saved in a separate (.DBG) file. This considerably reduces file size which decreases file load time and thus increases system performance. Symbols represent Function\API names and global variables. The .DBG file contains symbolic information for each file. They can be found on the SUPPORT\DEBUG\<platform>\SYMBOLS directory of the Windows NT installation compact disc. Patched builds such as Service Packs require a special set of symbols, that is a combination of the base build and the patched symbols. The SYMBOLS directory is divided up into seven subdirectories, called Extension Subdirectories (note that many of the symbol files in these directories match USER MODE components of Windows NT):
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.The symbols must match their respective files. Symbols from a different build give erroneous information. All of the symbol file link dates must match those on the computer being debugged. Setting Up a Custom Symbol Trees The Symbol Tree is the subdirectory tree on the host computer which contains the symbol files which match the remote computer being debugged.
Windows NT uses a special kernel for SMP systems. During installation this kernel is renamed. It is important that the DBF file is renamed for debugging.
NTOSKRNL.EXE NTOSKRNL.DBG = Single processor NTKRNLMP.EXE NTKRNLMP.DBG = Multiple processorsIf the system is a Multi-Processor, do the following:
Custom HAL.DLLSome hardware platforms require a special Hardware Abstraction Layer (HAL) Driver. Like the Kernel file, the custom HAL is renamed during the installation process. Here is a list of common HALs: HAL files for I386 Computers:
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 systemsHAL 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 HALHAL 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 TyneHAL 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-6020How to Determine Which HAL to Use: During installation, a text log file is created. This file has a line which shows which HAL is installed during setup. If the HAL has changed after the original Setup, the SETUP.LOG does not reflect the change. To verify, do the following:
Copy the HAL into the Symbol Tree:
After the Symbol Tree Is CreatedThe symbol tree is now complete. For more information, query on the following word here in the Microsoft Knowledge Base:
debugref |
KBCategory: kbtshoot
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |