2009-06-16 12 views
6

J'essaie de déboguer certains composants COM et je veux traquer CLSID et IID dans les appels à CoCreateInstance.Puis-je afficher GUID dans windbg?

Je ne sais pas comment afficher GUID dans windbg. Des pointeurs pour ça.

Répondre

6

Utilisez la commande "Type d'affichage":

dt GUID [address-of-guid] 

Pour plus d'informations, consultez le documentation.

S'il s'agit d'une variable locale (locale à la pile dans laquelle vous vous trouvez), utilisez dv /V pour vider toutes les variables locales.

+1

Merci pour le pointeur, mais cette commande doit être légèrement modifiée. Suivant travaillera dt nt! _GUID adresse-de-guid. – anand

+0

Oui, si vous ne le dites pas! il va rechercher tous les modules chargés jusqu'à ce qu'il trouve. Et, oui, je suppose que GUID se transforme en _GUID. Bonne prise. –

0

Je ne sais rien au sujet de COM, mais si cela est juste une variable normale (même si elle est un problème mondial), alors vous pouvez toujours faire:

alt + 2 pour faire apparaître la fenêtre de la montre et entrez le nom de la variable là, par exemple

blahblah.dll! guid

Vous aurez besoin des symboles pour que, peut-être besoin d'être en t aswell mode source. Ceci est légèrement plus agréable que dv/dt en ce que vous ne devez pas le taper constamment. Vous pouvez également entrer l'adresse, je pense. Notez que si vous ne mettez pas blahblah! alors il peut occasionnellement bloquer le windbg pendant quelques secondes alors qu'il recherche dans chaque module quelque chose appelé guid.