2009-11-16 5 views
0

Je trouve des blocs de tas fuite en utilisant la commande suivante dans WinDbgmémoire de chasse fuites

!heap –l 

chaque bloc de tas fuite que je reçois, je suis en cours d'exécution à suivre pour obtenir la trace de la pile.

!heap -p -a leakedheapblock 

Ce qui suit est le résultat de cette commande:

address 1c841cc0 found in 
_HEAP @ 3930000 
    HEAP_ENTRY Size Prev Flags UserPtr UserSize - state 
    1c851cc0 0009 0000 [03] 1c851ce8 0000c - (busy) 
    Trace: 84f8 
    7c873c19 ntdll!RtlpDphNormalHeapAllocate+0x00000030 
    7c876870 ntdll!RtlpDebugPageHeapAllocate+0x00000335 
    7c8794a8 ntdll!RtlDebugAllocateHeap+0x0000002d 
    7c8531e4 ntdll!RtlAllocateHeapSlowly+0x00000041 
    7c83d97a ntdll!RtlAllocateHeap+0x00000e9f 
    1699d238 MyLibrary!malloc+0x0000007a 

Comment puis-je trouver le morceau de code dans « MyLibrary » qui fuit.

+0

Avez-vous gflags.exe/i yourApplication.exe + ust? – EFraim

+0

oui, j'ai activé la trace de la pile de l'utilisateur – Julian

Répondre