DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 121366 - Dernière mise à jour: samedi 23 mai 2015 - Version: 4.0

 

Sommaire

Résumé

L' extension de fichier PDB est l'acronyme de « programme de base de données. » Il conserve le nouveau formatfor stockant des informations de débogage qui a été introduites dans Visual C ++ version 1.0. À l'avenir, le. Fichier PDB contiendra également les autres informations de projectstate. Parmi les motivations plus importantes pour l'informat de modification était de permettre la liaison incrémentielle des versions de débogage de programmes, achange tout d'abord introduite dans Visual C++ version 2.0.

L' extension de fichier DBG est l'acronyme de « debug ». L' Les fichiers DBG créés avec le jeu d'outils de the32 bits NT sont dans le format de fichier exécutable Portable (PE). Ils contiennent des sections avec COFF, FPO et dans certains cas Codeviewinformation. Le débogueur Visual C++ intégré peut lire. Les fichiers DBG contenu de cette format, mais il ignore les sections de symboles COFF et recherche des informations de forCodeview.

Si vous avez besoin de déterminer les informations de symbole qui sont contenues dans un DBGfile, vous pouvez taper ce qui suit à l'invite de commande :
Dumpbin sample.dbg/symbol.
				
Remarque Le chemin d'accès devrez peut-être les répertoires include pour Dumpbin.exe andMSdis100.dll :
Path=%Path%;C:\Program Files\DevStudio\VC\bin;C:\Msssdk\bin
				
Pour plus d'informations à propos de DUMPBIN, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
177429  (http://support.microsoft.com/kb/177429/ ) Exemples de sortie DUMPBIN

Plus d'informations

L' fichiers PDB

Auparavant, ils étaient utilisés par les versions 16 bits de Visual C++. Thedebugging d'informations stockée dans les fichiers PDB a été ajouté à la fin de le. EXE ou. Fichier DLL par l'éditeur de liens. Dans les versions de Visual C++ mentionnés ci-dessus, l'éditeur de liens et le débogueur intégré ont été modifiés pour autoriser. PDBfiles pour être utilisé directement pendant le débogage du processus, ce qui eliminatingsubstantial les montants du travail de l'éditeur de liens et également en contournant limite de programme CVPACK thecumbersome des types de 64 Ko.

Pour plus d'informations sur les limitations de programme CVPACK, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
112335  (http://support.microsoft.com/kb/112335/ ) BOGUE : CK1020 ou CK4009 a rencontré lorsque les informations de type dépassent 64 Ko
Par défaut, lorsque vous générez des projets générés par l'atelier Visual, l'option /Fd commutateur thecompiler est utilisé pour renommer le. Fichier PDB pour <project>. PDB. Par conséquent, vous aurez une seule. Fichier PDB du projet entier.</project>

Lorsque vous exécutez des fichiers Make qui n'ont pas été générées par l'atelier Visual, et l'option /Fd n'est pas utilisé avec /Zi, vous finirez avec deux. Fichiers PDB :
  • VCx0.PDB (où « x » fait référence à la version principale de correspondante Visual C++, « 2 » ou « 4 »), qui stocke toutes les informations de débogage pour la personne. Fichiers OBJ. Il réside dans le répertoire où réside le makefile du projet.
  • <project>. PDB, qui stocke toutes les informations de débogage pour résultant. Fichier EXE. Il se trouve dans le sous-répertoire \WINDEBUG.</project>
Pourquoi deux fichiers ? Lorsque le compilateur est exécuté, il ne sait pas le nom de la. Fichier EXE dans lequel le. Fichiers OBJ doit être lié, ainsi le can'tput du compilateur les informations dans <project>. PDB. Les deux fichiers stockent des differentinformation. Chaque fois que vous compilez un. Fichier OBJ, le compilateur fusionne les informations de thedebugging VCX0. PDB. Il ne met pas dans les informations de symbole en tant que définitions de fonction. Il place uniquement dans les informations relatives aux types. L'avantage de cette est que, lorsque chaque fichier source inclut headerfiles courantes, telles que <windows.h>, tous les typedefs de ces en-têtes sont onlystored une seule fois, plutôt que dans chaque. Fichier OBJ.</windows.h> </project>

Lorsque vous exécutez l'éditeur de liens, il crée <project>. PDB, qui contient les informations de thedebugging pour le projet. Fichier EXE. Debugginginformation tous, y compris les prototypes de fonction et tout le reste, est placedinto <project>. PDB, pas seulement les informations de type trouvées dans VCX0. PDB. Types de Thetwo de. Fichiers PDB partagent la même extension, car ils arearchitecturally similaire ; tous deux acceptent les mises à jour incrémentielles. Néanmoins, ils stockent réellement des informations différentes.</project> </project>

Le nouveau débogueur Visual C++ utilise le <project>. Fichier PDB créé directement en thelinker et incorpore le chemin d'accès absolu à la. PDB dans le. EXE ou. Fichier DLL. Si le débogueur ne peut pas trouver le. Fichier PDB à cet emplacement ou Sile le chemin n'est pas valide (si, par exemple, le projet a été déplacé vers anothercomputer), le débogueur recherche dans le répertoire en cours.</project>

L' fichiers DBG

Le débogueur Visual C++ intégré permet également. Les fichiers DBG comme asthey long sont effectuées à partir d'un format Codeview contenant binaire sortie de débogage. Ils sont utiles pour le débogage lorsque le code source n'est pas disponible. Evenwithout la source. Les fichiers DBG permettent de définir des points d'arrêt sur les fonctions, variables espionnes et consultez les fonctions dans la pile des appels. Ils sont alsorequired pour le débogage OLE RPC.

Un inconvénient doit être précisé : lorsque vous travaillez avec des symboles à partir d'un. DBGfile, vous devez utiliser les noms décorés complets. Par exemple, pour définir abreakpoint sur un appel à la fonction sndPlaySound de Windows, vous wouldspecify _sndPlaySoundA@8 comme emplacement.

Il existe en fait deux. Formats de fichier DBG. L'ancien format a existé forquite un certain temps dans le monde entier de 16 bits. Par exemple, dans la mesure où le format de. COMfiles est une image binaire simple chargée en mémoire, la debugginginformation Codeview Impossible d'ajouter à la fin du fichier, car la taille du fichier peut dépasser la limite de 64K pour un fichier .COM. Par conséquent la symbolicinformation a été plutôt placée en un distinct. Fichier DBG, qui a onlyCodeview d'informations qu'il contient. L' Les fichiers DBG peuvent également être généré byrunning CVPACK sur un. Fichier EXE à l'aide de l'option /strip.

Pour 32 bits. Exe, symbolhandler Visual C++ version 2.x et 4.x du débogueur ne lit pas l'ancien format. À la place, il lit le format utilisé dans Windows NT. Fichiers DBG fournis pour une utilisation avec son système. Fichiers DLL. Ces. Les fichiers DBG sont dans les sections d'andcontain du format de fichier exécutable Portable (PE) avec COFF, FPO et dans certains symbolicinformation Codeview de cas. Le nouveau débogueur Visual C++ lit. Fichiers DBG dans ce formatonly. En outre, il utilise uniquement les informations Codeview, en ignorant les sections de symbole theother.

Il est possible de supprimer les informations de débogage à partir d'un fichier PE et le stocker dans le fichier a.DBG pour une utilisation par les débogueurs. Pour ce faire, le débogueur a besoin toknow si vous souhaitez rechercher les informations de débogage dans un fichier distinct ou pas andwhether que les informations ont été supprimées à partir du fichier ou non. Un methodwould être pour le débogueur rechercher le fichier exécutable fordebug informations de recherche. Toutefois, pour enregistrer le débogueur de devoir rechercher thefile, un champ des caractéristiques de fichier (IMAGE_FILE_DEBUG_STRIPPED, situé) a été inventedthat indique que le fichier a été supprimé. Les débogueurs peuvent rechercher des thisfield dans l'en-tête du fichier PE pour déterminer rapidement si la debuginformation est présente dans le fichier ou non.

Pour générer un. Fichier DBG dans ce format, vous pouvez utiliser REBASE. EXE, qui isprovided avec le Kit de développement Win32. Consultez les détails de plus de documentation du SDK Win32.

Pendant les versions commerciales de Windows NT, les symboles de débogage sont supprimés des pilotes et des fichiers binaires lesystème et stockés dans distinct. Fichiers DBG. Il s'agit de donebecause Windows NT débogueur du noyau peut utiliser ces. Les fichiers DBG et symboles providedebugging même pour les pilotes optimisés. Toutefois, souvenez-vous que theVisual C++ débogueur intégré n'est pas conçu pour déboguer le code protégé modekernel.

Vous trouverez les fichiers de symboles Windows NT dans un sous-répertoire de débogage du répertoire the\SUPPORT du CD-ROM de vente au détail de Windows NT. Ces fichiers doivent becopied à partir du CD-ROM sur votre disque dur. Pour le débogage en mode utilisateur sur l'ordinateur du débogueur cibles. Symboles de fichier DBG doivent être présents dans la NT\ de Windows<winnt>directory \SYMBOLS du système cible (<winnt> est la directorywhere Windows NT est installé). Le nouveau Visual C++ le programme d'installation installsan « Installation des symboles du système NT » icône de programme dans votre groupe de programmes. Vous pouvez utiliser toautomatically copie la. Fichiers DBG à partir de votre CD de station de travail Windows NT-ROMdisk à la structure de répertoire correct sur votre disque dur. Cette methoddoes ne fonctionne pas d'insérer le CD-ROM de Windows NT Server 4.0, car le. Les fichiers DBG stockées dans un format compressé.</winnt> </winnt>

Pour le débogage du noyau, placez. Fichiers DBG dans une arborescence de symboles sous durépertoire spécifié par la variable d'environnement _NT_SYMBOL_PATH (par exemple, C:\DEBUG\SYMBOLS). Débogage du noyau est possible avec un composé de symboles pour tous les pilotes des symboles setof minimale (*. (SYS) dans le répertoire theSYMBOLS\SYS et de symboles pour NTOSKRNL. EXE et la HAL. DLL dans theSYMBOLS\EXE et les répertoires SYMBOLS\DLL, respectivement. Pour plus d'informations sur débogage du noyau, reportez-vous à la discussion en ce qui concerne le débogage du noyau dans le Guide du programmeur de kit DDK de Windows NT.

Bien qu'il soit théoriquement possible de convertir à partir d'un. Fichier PDB au fichier a.DBG, il n'est pas une tâche insignifiante. À ce stade, nous savons d'aucun de ces outils. Si nous entendons de ces outils, nous mettrons à jour cet article dans la Base de connaissances Microsoft.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Édition Standard
Mots-clés : 
kbbug kbdebug kbide kbinfo kbmt KB121366 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 121366  (http://support.microsoft.com/kb/121366/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Article KB retiré.Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store