Windows性能分析器(WPA)无法解析我的c#应用程序

时间:2018-05-15 04:09:36

标签: debug-symbols etw windows-performance-analyzer wpr

操作系统: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# Console Application(称为TestEtw - binary是TestEtw.exe)
  2. ETL file
  3. NGENPDB files(由WPRUI输出)
  4. testetw的Symcache文件(TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache
  5. _NT_SYMBOL_PATH=c:\MySyms;srv*C:\Symbols*http://msdl.microsoft.com/download/symbols
    1. PDB位于项目的bin目录中,我在c:\MySyms
    2. 中复制了它
  6. 在WPA中加载ETL文件,然后单击加载符号。您会发现wpa不会为TestEtw.exe(前面提到的C#控制台应用程序)加载符号
  7. 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. 中找到符号
    2. 已验证c:\symcache实际上包含testetw文件且其名称与PDB签名匹配:TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache
    3. 旧版本的WPA(6.3.9600.16384 - 这是winblue_rtm版本)也不会加载这些符号
    4. 使用Process Monitor确认WPA确实打开了TestEtw的symcache文件。
    5. 因此,似乎symcheck可以找到pdb,wpa正在填充symcache甚至加载symcache文件,但是WPA UI没有在TestEtw中显示符号。

      非常感谢任何帮助。谢谢!

0 个答案:

没有答案