Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Configuration des symboles de débogage de Windows NT

Ancien nº de publication de cet article : F148659
Résumé


Les symboles de debogage de Windows NT doivent être configurés pour pouvoir corriger les bogues d'un ordinateur à distance ou localement. Cet article explique comment configurer ces symboles.
Plus d'informations

Sommaire de l'article



  • Présentation des symboles
  • Configuration d'une arborescence de symboles personnalisée
  • Comparaison entre un processeur unique et plusieurs processeurs
  • HAL.DLL personnalisé
  • Après la création de l'arborescence de symboles

Présentation des symboles



Les fichiers de symboles de débogage (symboles) sont nécessaires pour effectuer le débogage en mode utilisateur et noyau sous Windows NT. Les symboles permettent de résoudre les variables globales et les noms de fonctions dans le fichier exécutable chargé.

Les symboles sont générés par l'éditeur de liens au moment de la génération d'un programme. Ils sont extraits du produit commercial et enregistrés dans un fichier (.DBG) indépendant. Cette opération permet de réduire considérablement la taille des fichiers, et donc de diminuer le temps de chargement des fichiers et d'améliorer les performances du système. Les symboles représentent des noms de fonctions\API et des variables globales.

Les fichiers .DBG contiennent des informations sur les symboles pour chaque fichier. Ils se trouvent dans le répertoire SUPPORT\DEBUG\<plate-forme>\SYMBOLS du CD-ROM d'installation de Windows NT.

Les versions avec correctifs, telles que les Service Packs, requièrent un jeu de symboles spécial associant les symboles de la version de base et ceux des correctifs.

Le répertoire SYMBOLS se divise en sept catégories appelées sous-répertoires d'extension (vous remarquerez que bon nombre des fichiers de symboles figurant dans ces répertoires correspondent à des composants de mode utilisateur de Windows NT) :

   COM - répertoire pour les symboles de tous les fichiers se terminant par .COM   CPL - répertoire pour les symboles de tous les fichiers se terminant par .CPL   DLL - répertoire pour les symboles de tous les fichiers se terminant par .DLL   DRV - répertoire pour les symboles de tous les fichiers se terminant par .DRV   EXE - répertoire pour les symboles de tous les fichiers se terminant par .EXE   SCR - répertoire pour les symboles de tous les fichiers se terminant par .SCR   SYS - répertoire pour les symboles de tous les fichiers se terminant par .SYS


Ces symboles doivent correspondre à leurs fichiers respectifs. Les symboles d'une version différente fournissent des informations incorrectes. Les dates de lien de tous les fichiers de symboles doivent correspondre à celles de l'ordinateur à déboguer.

Configuration d'une arborescence de symboles personnalisée



L'arborescence de symboles est l'arbre des sous-répertoires de l'ordinateur hôte contenant les fichiers de symboles correspondant à l'ordinateur distant à déboguer.
  1. Créez un sous-répertoire sur l'ordinateur hôte. Exemple :

    MKDIR C:\SYMBOLS
  2. Commencez toujours par le numéro de version de base de Windows NT. Copiez les fichiers suivants à partir du CD-ROM d'installation de la version appropriée :

    XCOPY [CD Drive]:\SUPPORT\DEBUG\I386 C:\SYMBOLS /S.
  3. Copiez les symboles du service pack approprié dans l'arborescence personnalisée. Vous trouverez les symboles du service pack sur FTP.MICROSOFT.COM.

    Vous pouvez par exemple télécharger les symboles pour Windows NT 3.51 Service Pack 4 à l'adresse suivante :

    \bussys\winnt\winnt-public\fixes\usa\NT351\ussp4\symbols

    Téléchargez le fichier appelé SYM_351<X>.EXE où X représente la plate-forme (I pour x86, A pour Alpha, P pour PPC).

    Décompressez les fichiers dans l'arborescence de symboles. Exemple :

    SYM_351<X>.EXE -d C:\SYMBOLS
  4. Copiez tous les correctifs tiers, tels que les symboles Compaq SSD, dans l'arborescence de symboles personnalisée. Contactez le fournisseur tiers concerné pour obtenir ces symboles.
  5. Si Microsoft a fourni des correctifs particuliers à votre installation, copiez le fichier DBG fourni avec le correctif dans le sous-répertoire approprié (par exemple : SYS, EXE, DLL).
  6. Si l'ordinateur est un système Intel à un seul processeur, l'arborescence de symboles est terminée. Passez à la section Après la création de l'arborescence de symboles plus loin dans cet article.

Comparaison entre un processeur unique et plusieurs processeurs



Windows NT fait appel à un noyau spécial pour les systèmes SMP. Au cours de l'installation, ce noyau change de nom. Il est important de renommer le fichier DBF pour le débogage.

   NTOSKRNL.EXE  NTOSKRNL.DBG  = processeur unique   NTKRNLMP.EXE  NTKRNLMP.DBG  = plusieurs processeurs


Pour les systèmes à plusieurs processeurs, suivez la procédure ci-dessous :
  1. Faites passer le répertoire sur le répertoire de composant DLL. Exemple :

    CHDIR C:\SYMBOLS\DLL
  2. Renommez le noyau à un processeur. Exemple :

    RENAME NTOSKRNL.DBG NTOSKRNL.UNI
  3. Copiez le noyau à plusieurs processeurs sur le noyau à un seul processeur. Exemple :

    COPY NTKRNLMP.DBG NTOSKRNL.DBG

HAL.DLL personnalisé



Certaines plates-formes de matériel requièrent un pilote de couche d'abstraction matérielle (HAL). De même que le fichier Kernel, la couche d'abstraction matérielle est renommée au cours du processus d'installation. Voici la liste des couches d'abstraction matérielle courantes :

Fichiers HAL pour ordinateurs I386 :

Nom de fichier             Description---------------------------------------------------HAL.DLL                    HAL standard pour systèmes IntelHAL486C.DLL                HAL pour processeur d'étapes 486 cHALAPIC.DLL                Version à un seul processeur de HALMPS.DLLHALAST.DLL                 HAL pour systèmes AST SMPHALCBUS.DLL                HAL pour systèmes CbusHALMCA.DLL                 HAL pour systèmes MCA (PS\2 et autres)HALMPS.DLL                 HAL pour la majorité des systèmes Intel à plusieurs processeursHALNCR.DLL                 HAL pour ordinateurs NCR SMP HALOLI.DLL                 HAL pour ordinateurs Olivetti SMP HALSP.DLL                  HAL pour Compaq SystemproHALWYSE7.DLL               HAL pour systèmes Wyse7Fichiers HAL pour ordinateurs DEC Alpha :Nom de fichier             Description---------------------------------------------------HAL0JENS.DLL               HAL pour Digital DECpc AXP 150HALALCOR.DLL               Famille Digital AlphaStation 600HALAVANT.DLL               HAL de la famille Digital AlphaStation 200\400HALEB64P.DLL               HAL de Digital AlphaPC64HALGAMMP.DLL               HAL de la famille Digital AlphaServer 2x00 5\xxxHALMIKAS.DLL               HAL pour processeur unique de la famille Digital AlphaServer 1000HALNONME.DLL               HAL de Digital AXPpci 33HALQS.DLL                  HAL de Digital Multia MultiClient DesktopHALSABMP.DLL               HAL de la famille Digital AlphaServer 2x00 4\xxxFichiers HAL pour ordinateurs MIPS :Nom de fichier             Description---------------------------------------------------HALACR.DLL                 HAL de ACERHALDTI.DLL                 DESKStation EvolutionHALDUOMP.DLL               HAL pour systèmes multi-processeurs doubles de MicrosoftHALFXS.DLL                 MTI avec r4000 ou r4400HALFXSPC.DLL               MTI avec r4600HALNECMP.DLL               systèmes multi-processeurs doubles NEC HALNTP.DLL                 NeTpower FASTseriesHALR98MP.DLL               systèmes à 4 processeurs NECHALSNI4X.DLL               Systèmes mono-processeur et multi-processeurs Siemens NixdorfHALTYNE.DLL                DESKstation TyneFichiers HAL pour ordinateurs PPC :Nom de fichier             Description---------------------------------------------------HALCARO.DLL                HAL pour IBM-6070HALEAGLE.DLL               HAL pour Motorola PowerStack et Big BendHALFIRE.DLL                HAL pour Powerized_ES,                                    Powerized_MX, et                                    Powerized_MX MPHALPOLO.DLL                HAL pour IBM-6030HALPPC.DLL                 HAL pour IBM-6015HALWOOD.DLL                HAL pour IBM-6020


Détermination de la couche d'abstraction matérielle à utiliser :

Au cours de l'installation, un fichier journal texte est créé. Ce fichier inclut une ligne indiquant la couche d'abstraction matérielle installée au cours de l'installation. Si la couche d'abstraction matérielle a changé après l'installation initiale, le fichier SETUP.LOG ne prend pas ces modifications en compte. Pour le vérifier, suivez la procédure ci-dessous :
  1. Naviguez jusqu'au sous-répertoire %SystemRoot%\REPAIR.
  2. Exécutez la commande ATTRIB -R -H -S SETUP.LOG pour afficher le fichier.
  3. Utilisez le Bloc-notes pour consulter le fichier SETUP.LOG, puis faites une recherche sur " Hal "
REMARQUE : Cette méthode peut également servir à vérifier si un noyau spécial est aussi utilisé.

Copiez la couche d'abstraction matérielle dans l'arborescence de symboles :
  1. Passez au répertoire \SYMBOLS\DLL.
  2. Renommez HAL.DBG en HAL.X86.
  3. Copiez le HLL.DBG personnalisé dans HAL.DBG.

Après la création de l'arborescence de symboles



L'arborescence de symboles est maintenant terminée. Pour plus d'informations, recherchez le mot suivant dans la Base de connaissances Microsoft :
debugref
3.50 3.51 prodnt debugref
Propriétés

ID d'article : 148659 - Dernière mise à jour : 01/15/2004 21:01:00 - Révision : 1.0

  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • debugref prodnt 3.51 ntstop 3.50 KB148659
Commentaires