2016-11-12 6 views
0

Что означает шестнадцатеричное значение (с +) позади имени функции?WinDbg callstack hexadecimal offset

00 012ff668 7795aa24 ntdll_778f0000!LdrInitShimEngineDynamic+0x726 
01 012ff8a0 77956e84 ntdll_778f0000!WinSqmSetDWORD64+0x14e4 
02 012ff8f4 77956cd0 ntdll_778f0000!LdrInitializeThunk+0x1c4 
03 012ff8fc 00000000 ntdll_778f0000!LdrInitializeThunk+0x10 

ответ

1

Эти цифры indicate offset from the nearest resolved function entry. Чем выше число WinSqmSetDWORD64+0x14e4, тем выше проблема с загрузкой символов, и Windbg использовал export table для получения имени функции и сгенерировал большое смещение на основе имен функций, полученных из таблицы экспорта.

+0

Если символы выключены очень далеко, обратите внимание, что имя функции, например 'WinSqmSetDWORD64', может быть абсолютно неверным и вводить в заблуждение. Я часто вижу это для 'DllUnregisterServer', когда DLL вообще не регистрируется. –