wow64! _TEB32 не найден

0

Я пытаюсь проанализировать дамп процесса wow64. Проблема в утечке памяти, поэтому мне нужно проверить кучу. Я имею в виду эту статью для анализа дампа:

http://www.codeproject.com/Articles/31382/Memory-Leak-Detection-Using-Windbg.

0:000> .load wow64exts

0:000> !sw
Switched to 32bit mode


0:000:x86> !heap -s
NtGlobalFlag enables following debugging aids for new heaps:
    tail checking
    free checking
    validate parameters
LFH Key                   : 0x00000000072e0d1a
Termination on corruption : ENABLED
  Heap     Flags   Reserv  Commit  Virt   Free  List   UCR  Virt  Lock  Fast 
                    (k)     (k)    (k)     (k) length      blocks cont. heap 
-----------------------------------------------------------------------------
00000000001b0000 40000062    1024     32   1024      8     2     1    0      0      
0000000000320000 40001062   47808  45812  47808      7     8     7    0      0      
-----------------------------------------------------------------------------


0:000:x86>  !heap -stat -h 0000000000320000 
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Either you specified an unqualified symbol, or your debugger   ***
***    doesn't have full symbol information.  Unqualified symbol      ***
***    resolution is turned off by default. Please either specify a   ***
***    fully qualified symbol module!symbolname, or enable resolution ***
***    of unqualified symbols by typing ".symopt- 100". Note that   ***
***    enabling unqualified symbol resolution with network symbol     ***
***    server shares in the symbol path may cause the debugger to     ***
***    appear to hang for long periods of time when an incorrect      ***
***    symbol name is typed or the network symbol server is down.     ***
***                                                                   ***
***    For some commands to work properly, your symbol path           ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: wow64!_TEB32                                  ***
***                                                                   ***
*************************************************************************
 heap @ 0000000000320000
group-by: TOTSIZE max-display: 20
    size     #blocks     total     ( %) (percent of total busy bytes)

Невозможно найти wow64! _TEB32, поэтому не может идти дальше. Есть ли какие-нибудь тела, которые могут помочь этому?

  • 0
    Попробуйте использовать 32-битную Windbg.
Теги:
windbg

1 ответ

1

Во-первых, убедитесь, что ваши символы настроены правильно, обычно, делая

.symfix c:\symbols
.reload

Обычно для 32-разрядных приложений необходимо взять 32-разрядный дамп, если вы не хотите отлаживать сам WOW64-уровень.

Однако в вашем случае (относительно команд !heap) вы можете просто повторить шаги в 32-разрядной версии WinDbg, которая также работает на 64-битной Windows и может открывать 64-битные дампы.

  • 0
    Привет Томас, это не сработает, даже если я открою дамп 32-битным виндбгом. Результат тот же.
  • 0
    @Leon: я попробовал это на своей машине, прежде чем публиковать ответ с WinDbg 6.2.9200. Какую версию вы используете?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню