2016-02-02 14 views
1

Я читалПочему не существует стек вызовов для «общих событий»

Capture callstack and events in Xperf

и другие источники, но самый простой, что я хотел бы сделать, это просто отобразить столбец «Стек» в График «Общие события» WPA.

WPA, Generic events graph

Почему нет? Конечно, поскольку информация о стеке недоступна, но почему? Я знаю «xperf -help stackwalk», но то, что указано, не то, что я ищу. Например,

xperf -on networktrace -stackwalk networktrace 

является не можно получить стек вызовов для сетевых событий. Зачем? Я должен что-то упустить. Благодаря!

ответ

2

Активация стеки для пользовательского режима событий имеет следующий синтаксис: PROVIDER:KEYWORD:LEVEL:'stack'

Вы должны активировать стеки таким образом:

«C: \ Program Files (x86) \ Windows Kits \ 8.1 \ Performance Windows, Toolkit \ xperf.exe "-start UserLogger -on Microsoft-Windows-Kernel-Network ::: 'stack' + Microsoft-Windows-Networking-Correlation ::: 'stack' + Microsoft-Windows-TCPIP ::: ' стек ' -buffersize 2048 -f User.etl

+0

Спасибо, но это не добавляет столбец Stack к графу общих событий. Я получаю дополнительный, отдельный график «Стеки». Это нормально, но не там, где я ожидал бы этого, то есть в окне Generic Events. Мой вопрос был связан с Generic Events в целом, а не только с поставщиками пользовательского режима. Возможно, у других флагов ядра нет соответствующего провайдера режима пользователя (они?), Поэтому пока не ясно для меня. Кроме того, если я так делаю, символы снова пропадают. Нужно ли добавлять минимальный набор провайдеров для поддержки символов? – CryGuy

+0

общие события = события пользовательского режима. Нажмите «Open View Editor» и активируйте столбец стека здесь. символы отсутствуют, потому что NETWORKTRACE недостаточно. Используйте NETWORK, который захватывает PROC_THREAD + LOADER, оба ДОЛЖНЫ использоваться все время! – magicandre1981

+0

Извините, но это неправильно, потому что «networktrace» является флагом ядра, а события отображаются в графе «общие события». Во всяком случае, я просто должен принять (но не понимаю), что на этом графе нет столбца Stack. Что касается символов, я узнал, между тем, тоже спасибо. – CryGuy