XPerfView медленно загружает символы - PullRequest
0 голосов
/ 21 июля 2010

Я пытаюсь выполнить стек в Xperf, используя пакетный файл, аналогичный указанному в Получение символов с помощью xperf .

Я запускаю XperfView, подтверждаю, что путь к символу указан правильно, а затем загружаю символы.Однако, когда я пытаюсь открыть сводную таблицу в выбранной части (примерно 5 секунд) графика «Выборка ЦП по ЦП», анализатор производительности зависает (не отвечает) в течение длительного времени (часы).

Я оставил его работающим прошлой ночью, и когда я пришел этим утром, итоговая таблица наконец-то загрузилась, и результаты, как и ожидалось, были ожидаемыми ... Я подумал, что, возможно, он просто выполняет начальную загрузку для кэширования символовСимволы C: \, но повторное тестирование сегодня утром имеет аналогичные проблемы (зависание на этом этапе 1 час 15 минут).

Ответы [ 3 ]

3 голосов
/ 12 декабря 2013

WPT (xperf, xperfview, WPA) не поставляется с dbghelp.dll и symsrv.dll. Это означает, что в зависимости от того, что находится на вашем пути, вы можете получить:

  1. Быстрая загрузка символов
  2. Загрузка символа занимает до 150 раз дольше
  3. Загрузка символов вообще отсутствует.

Решение состоит в том, чтобы скопировать заведомо исправную версию этих DLL-файлов в каталог установки WPT. Для более подробной информации смотрите этот пост: http://randomascii.wordpress.com/2012/10/04/xperf-symbol-loading-pitfalls/

1 голос
/ 15 марта 2013

В своей публикации Брюс Доусон предполагает, что существует проблема с dbghelp.dll и / или symsrv.dll в WPT, поставляемом в текущем SDK.Он предлагает заменить их на Visual Studio 2010 или Debugging Tools for Windows (например, WinDbg).Работал на меня ...

0 голосов
/ 27 июля 2010

Вы установили symcache примерно так

SRV*c:\dev\symbols*http://msdl.microsoft.com/download/symbols

Symcache будет кэшировать символы локально. У меня обычно есть переменная окружения _NT_SYMBOL_PATH с вышеуказанной информацией.

НТН

...