Setting Up a Symbol Tree

The Windows NT Server and Windows NT Workstation 3.51 CDs come with symbol trees already created. They are in \SYMBOLS directories on the CD under \SUPPORT\DEBUG\platform, where platform is I386, ALPHA, MIPS, or PPC. If you have not installed any service packs or hotfixes and do not have a multiprocessor system, then you might need only to specify the path to the correct symbols directory on the CD, or copy that directory to \systemroot and use this as the symbol path.

If you have installed service packs or hotfixes to Windows NT, you must construct a symbol tree.

To construct a symbol tree

1. Copy the correct tree from the \SUPPORT directory on the CD to your hard drive.

2. Copy the symbols for the updates you have applied into this tree in the order that you applied the updates, so that the later versions overwrite the earlier versions.

Note

Some of the utilities mentioned earlier in this section allow you to specify multiple symbols directories in a symbol path. You can establish separate directories for the symbols accompanying updates and Service Packs if you are using these utilities, rather than overwrite files in the single symbol tree. However, the KD debuggers require all the symbols in one path.

3. If you are using KD debuggers to debug a multiprocessor or a single processor system using a special HAL, you must rename some of the symbol files.

The KD debuggers always load the files named NTOSKRNL.DBG for Kernel symbols and HAL.DBG for HAL symbols, so you need to determine which Kernel and HAL you are using and rename the associated files to these filenames. (This procedure is not necessary if you are using the DUMPEXAM utility described earlier. It detects which Kernel and HAL files are needed and loads the correct ones.)

If you have a computer with a multiprocessor, you need only rename NTKRNLMP.DBG to NTOSKRNL.DBG. These files are in the \EXE sub- directory of the symbol tree.

If your computer uses a special HAL, there are a number of possibilities. The following tables list the possible HAL files for each hardware platform. These tables list the actual name of the .DLL file as it exists on the CD and the uncompressed size of the file in bytes. Each .DLL file has a corresponding .DBG file, which is in the \DLL sub-directory of the symbol tree. Determine which HAL you are using and rename the associated .DBG file to HAL.DBG. If you are not sure which HAL you are using, compare the file size in the table with the HAL.DLL file on the target system. The HAL.DLL file can be found in \systemroot\SYSTEM32.

HAL files for I386 systems


Filename

Uncompressed
Size (bytes)


Description

HAL.DLL

48,416

Standard HAL for Intel systems

HAL486C.DLL

47,376

HAL for 486 c step processor

HALAPIC.DLL

63,616

Uniprocessor version of HALMPS.DLL

HALAST.DLL

46,416

HAL for AST SMP systems

HALCBUS.DLL

79,776

HAL for Cbus systems

HALMCA.DLL

45,488

HAL for MCA-based systems (PS/2 and others)

HALMPS.DLL

65,696

HAL for most Intel multiprocessor systems

HALNCR.DLL

79,392

HAL for NCR SMP machines

HALOLI.DLL

40,048

HAL for Olivetti SMP machines

HALSP.DLL

52,320

HAL for Compaq Systempro

HALWYSE7.DLL

40,848

HAL for Wyse7 systems


HAL files for DEC Alpha systems


Filename

Uncompressed
Size (bytes)


Description

HAL0JENS.DLL

56,800

Digital DECpc AXP 150 HAL

HALALCOR.DLL

69,120

Digital AlphaStation 600 Family

HALAVANT.DLL

66,752

Digital AlphaStation 200/400 Family HAL

HALEB64P.DLL

70,528

Digital AlphaPC64 HAL

HALGAMMP.DLL

72,896

Digital AlphaServer 2x00 5/xxx Family HAL

HALMIKAS.DLL

67,040

Digital AlphaServer 1000 Family Uniprocessor HAL

HALNONME.DLL

65,376

Digital AXPpci 33 HAL

HALQS.DLL

65,088

Digital Multia MultiClient Desktop HAL

HALSABMP.DLL

72,736

Digital AlphaServer 2x00 4/xxx Family HAL


HAL files for MIPS systems


Filename

Uncompressed
Size (bytes)


Description

HALACR.DLL

43,648

ACER HAL

HALDTI.DLL

68,288

DESKStation Evolution

HALDUOMP.DLL

41,728

Microsoft-designed dual MP HAL

HALFXS.DLL

42,016

MTI with a r4000 or r4400

HALFXSPC.DLL

42,176

MTI with a r4600

HALNECMP.DLL

44,736

NEC dual MP

HALNTP.DLL

116,000

NeTpower FASTseries

HALR98MP.DLL

127,232

NEC 4 processor MP

HALSNI4X.DLL

95,520

Siemens Nixdorf UP and MP

HALTYNE.DLL

68,032

DESKstation Tyne


HAL files for PPC Systems


Filename

Uncompressed
Size (bytes)


Description

HALCARO.DLL

169,504

HAL for IBM-6070

HALEAGLE.DLL

206,208

HAL for Motorola PowerStack and Big Bend

HALFIRE.DLL

136,576

Hal for Powerized_ES, Powerized_MX, and Powerized_MX MP

HALPOLO.DLL

169,152

HAL for IBM-6030

HALPPC.DLL

169,184

HAL for IBM-6015

HALWOOD.DLL

95,616

HAL for IBM-6020


In some cases, you might have a HAL file that was supplied by your computer manufacturer. If so, you need to obtain symbols for these files from the manufacturer, rename that symbol file to HAL.DBG, and place it in the \DLL sub- directory of the symbol tree. For example, Compaq provides updated HAL files for their Proliant systems. This also applies if you have drivers from third party sources; obtain symbols from the original source and put them in the appropriate directory.