2010-06-28 5 views
0

Quand j'analysé un fichier de vidage d'écrasement, je me suis souvent ces erreurs:Comment obtenir le fil parent dans WinDBG?

0:025> kP 
Child-SP   RetAddr   Call Site 
00000000`05a4fc78 00000000`77548638 ntdll!DbgBreakPoint(void) [d:\w7rtm\minkernel\ntos\rtl\amd64\debugstb.asm @ 51] 
00000000`05a4fc80 00000000`774b39cb ntdll!DbgUiRemoteBreakin(
    void * Context = 0x00000000`00000000)+0x38 [d:\w7rtm\minkernel\ntdll\dlluistb.c @ 310] 
00000000`05a4fcb0 00000000`00000000 ntdll!RtlUserThreadStart(
    <function> * StartAddress = 0x00000000`00000000, 
    void * Argument = 0x00000000`00000000)+0x25 [d:\w7rtm\minkernel\ntos\rtl\rtlexec.c @ 3179] 

Il semble que le processus écrasé lors de la création d'un fil. Donc, je veux trouver qui ou quel fil a créé le fil actuel. Comment puis-je l'avoir?

+0

Je ne pense pas que le TID du fil « parent » est automatiquement enregistré (ou du moins il est pas facilement disponible avec l'API Windows). Si vous possédez l'application, vous pouvez enregistrer cette information. D'autre part, il semble peu probable que l'appel CreateThread provoque l'accident directement. Ce ne serait pas un scénario très typique. –

Répondre

0

Vous pouvez regarder les autres threads du processus avec ~ * k pour voir s'il y a quelque chose d'intéressant. A part ça, cette info n'est tout simplement pas là dans la décharge.

-Scott

Questions connexes