Process Monitor научился трассировать 32-х битный стек на x64

Я как-то привык, что Process Monitor не умеет показывать 32-х битный стек события, которое произошло в 32-х разрядном процессе, выполняющемся под Wow64. Вместо этого он показывал только 64-х битный стек, что было абсолютно бесполезно, так как там по определению всегда светится wow64.dll сотоварищи. Однако после подсказки на Sysinternals Forums выяснилось, что начиная с Vista SP1 это уже работает.

Подтверждаю, действительно работает:

Process Monitor shows Wow64 symbols.

Конфигурация:

Process Monitor использует dbghelp.dll из состава Debugging Tools. Используются символы с http://msdl.microsoft.com/download/symbols.

Кстати, показанный порядок вызовов не совсем верный. На самом деле весь 32-х битный код (строки 19-26) должен быть между 13-ой и 14-ой строками. Но тут порядок зависит от того, как его выдают Rtl функции из ntdll.dll, а они, насколько я понимаю, не затрудняются формированием правильного порядка вызовов. Просто сначала трассируется 64-х битный стек, а затем - 32-х битный.

comments powered by Disqus