Вопрос

Я установил анализатор производительности Xperf из Windows SDK и записал трассировку, как описано в документации, с помощью следующей команды:

xperf -on SysProf -stackwalk profile

Тем не менее, трассировка стека не содержит никаких данных стека вызовов.

Моя платформа — Vista 64b.Существуют ли какие-либо специальные настройки или приемы, необходимые для захвата стеков вызовов в 64b Windows?

Это было полезно?

Решение

После некоторых поисков я нашел одну настройку:

Установите значение реестра DisablePagingExecutive = 1 и перезагрузитесь (см. Часто задаваемые вопросы по набору средств повышения производительности Windows).

Хотя это звучит великолепно, в моей системе это не помогает, стеков вызовов по-прежнему нет.


После обращения в службу поддержки Microsoft они ответили, что с x64 Vista вы можете захватывать только стеки вызовов собственных приложений x64, а не 32b.


В Windows 7 вроде бы убрали ограничение и на Win 7 x64 оно работает нормально, по крайней мере об этом говорится Презентация Valve на Xperf.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top