Avec l'utilisateur de Windows, noyau et GDI symboles dans CodeView

Traductions disponibles Traductions disponibles
Numéro d'article: 67711 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

CodeView pour Windows (CVW) peut afficher des informations symboliques dans code principal de Windows et pouvez définir des points d'arrêt à l'intérieur de fonctions de Windows lorsque les versions de débogage des USER.EXE, GDI.EXE KRNL286.EXE et KRNL386.EXE sont installées dans votre environnement de développement.

Pour Windows 3.0, section 7.3.2 du manuel « Microsoft Software Development Kit de Windows » explique comment installer la version de débogage de Windows. Le manuel « Microsoft Software développement : programmation Kit de Windows » présente des informations similaires pour Windows 3.1 début sur la page 73.

Cet article décrit utilisant Windows symboles à des points d'arrêt de l'ensemble, des noms de module de liste et des fonctions et désassembler le code de Windows.

Plus d'informations

Pour CVW accéder aux symboles de Windows, USER.EXE, GDI.EXE et soit KRNL286.EXE ou KRNL386.EXE doit être chargé dans CVW bibliothèques de liens dynamiques (DLL). Cela est possible avec le commutateur de ligne de commande / l ou en réponse à l'invite DLL lorsque CVW démarre.

KRNL286.EXE doit être utilisé lorsque déboguer les applications en mode standard et KRNL386.EXE doit être utilisé lorsque le débogage dans améliorée en mode.

Les informations symboliques sont disponibles uniquement lorsque vous affichez les listes de langage assembleur de code Windows. Par défaut, les symboles ne sont pas visibles. Pour afficher les informations symboliques, suivez les étapes deux suivantes :

  1. Dans le menu Options, cliquez sur fenêtre source.
  2. Dans la boîte de dialogue fenêtre source sous le titre de la liste des transactions d'assemblage, vérifiez la zone Afficher le nom symbolique. Si cette case n'est pas activée, aucun symboles n'apparaissent dans n'importe quel affichage de l'assembly.
Lorsque l'option fenêtre source a été définie, vous pouvez étape en code Windows ou saut dans le débogueur avec la combinaison de touches CTRL+ALT+SYS RQ et voir quelle fonction est actuellement en cours d'exécution. Notez que seront probablement altérées dans une fonction privée dans Windows pour lequel aucune information symbolique n'est disponible.

Lorsque les symboles sont chargés, vous pouvez définir des points d'arrêt à un nom de fonction particulière, désassembler une fonction Windows, tous les modules et toutes les fonctions contenues dans ces modules.

Notez que lorsque vous utilisez le nom d'une fonction Windows qui est définie avec la convention d'appel PASCAL, vous devez taper le nom en lettres majuscules. Lorsque le nom d'une fonction Windows commence par une lettre majuscule, telles que la fonction GetDC, la fonction est définie avec la PASCAL convention d'appel. Le nom d'une fonction définie avec la convention d'appel C, telles que la fonction wsprintf, commence par une minuscule.

Pour définir un point d'arrêt, utilisez la commande BP ou le menu espion et spécifier le symbole pour le nom de fonction.

Pour désassembler le code de Windows, utilisez la commande
   U [<module>!]<function name>
				
où <module> est le nom du module à désassembler et < nom de fonction > est le nom d'une fonction de ce module. Le caractère «! » lorsque le nom du module est requis. Désassemblage s'effectue dans la fenêtre source.

Dans CVW, la commande X * répertorie tous les modules disponibles. Cette commande répertorie les noms de tous les modules de l'application et dans les DLL chargées.

Une fois un nom de module est connu, la commande suivante répertorie toutes les fonctions de ce module :
   X? [<module>!]*
				

Exemple

KRNL386.EXE est doté d'un module de nommé LDDEBUG. Pour répertorier les fonctions de ce module, entrer des opérations suivantes dans la fenêtre commande :
   X? LDDEBUG!*
				
la fenêtre Sortie affiche plusieurs adresses avec aucun symbole, mais la liste inclut OUTPUTDEBUGSTRING. Ce champ indique que la fonction OutputDebugString est implémentée dans le module LDDEBUG.

Si [<module>!] n'est pas spécifié, les fonctions dans le module actuel sont affichées.

À l'aide de la commande X par lui-même affiche tous les symboles publics disponibles CVW.

Propriétés

Numéro d'article: 67711 - Dernière mise à jour: mardi 30 septembre 2003 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft CodeView 3.05
  • Microsoft CodeView 4.1
  • Microsoft CodeView 4.0
  • Microsoft CodeView 4.01
  • Microsoft CodeView 4.1
Mots-clés : 
kbmt kb16bitonly KB67711 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 67711
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.
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.

Envoyer des commentaires

 

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