Анализатор производительности Windows (WPA) не разрешает символы для моего приложения на C#

ОС: 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#)

Я пробовал несколько вещей:

  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 заполняет symcache и даже загружает файл symcache, но пользовательский интерфейс WPA не отображает символы в TestEtw.

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

0 ответов

Другие вопросы по тегам