Анализатор производительности Windows (WPA) не разрешает символы для моего приложения на c # - PullRequest
0 голосов
/ 15 мая 2018

ОС: Windows Server 2012 R2 (также пробовал Windows 10)

Версия WPRUI / WPA: 10.0.16299.91

Версия Visual Studio Community 2017: 15.6.6

Версия .NET: 4.7

У меня проблемы с загрузкой символов в WPA, потому что я думаю, что это действительно простой сценарий.

  1. Консольное приложение C # (называетсяTestEtw - двоичный файл TestEtw.exe)
  2. ETL-файл
  3. NGENPDB-файлов (вывод WPRUI)
  4. Файл Symcache дляtestetw ( TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache )
  5. _NT_SYMBOL_PATH=c:\MySyms;srv*C:\Symbols*http://msdl.microsoft.com/download/symbols
    1. PDB находится в каталоге bin проекта, и я сделал его копию вc:\MySyms
  6. Загрузите файл ETL в WPA и нажмите кнопку загрузить символы.Вы обнаружите, что wpa не загружает символы для TestEtw.exe (вышеупомянутое консольное приложение C #)

enter image description here

Я пробовалколичество вещей:

  1. Проверено, что symchk может найти символы, запустив: symchk c:\Users\Administrator\source\repos\TestEtw\TestEtw\bin\Debug\TestEtw.exe /v
    1. Он находит символы в c: \ MySyms \ TestEtw.pdb
  2. Проверено, что c:\symcache действительно содержит файл testetw и его имя соответствует подписи PDB: TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache
  3. Старая версия WPA (6.3.9600.16384 - это версия winblue_rtm) также НЕ загружает эти символы
  4. Подтверждено с помощью Process Monitor, что WPA действительно открывает файл symcache для TestEtw.

Таким образом, похоже, что symcheck может найти pdb, wpa isзаполнение symcache и даже загрузка файла symcache, но пользовательский интерфейс WPA не отображает символы в TestEtw.

Любая помощь будет принята с благодарностью.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...