使用 CLR 4.0 NGEN PDB 支持

Xperf 和 Windows Performance Recorder (WPR) 都可以在启用公共语言运行时 (CLR) 4.0 本机映像生成器 (NGEN) PDB 支持的情况下运行。

注意:WPR 直接处理 CLR 符号,这样在配置和使用 NGEN 支持时便无需任何标记。

在 WPR 用户界面 (UI) 中启动录制时,会在保存的录制内容旁边生成 NGEN 程序数据库文件 (PDB)。 这些 PDB 对使用 NGEN 为托管方案创建的模块符号进行解码。 对于 Recording.etl,NGEN PDB 位于 Recording.etl.NGENPDB 文件夹中。

结合使用 NGEN 支持和 WPR

建议在运行 WPR 之前进行以下设置并启用 NGEN 支持:

  • (可选,但推荐)将 SymCache 路径环境变量设置为本地目录

结合使用 NGEN 支持和 Xperf

若要将 NGEN 支持与 Xperf 配合使用,请执行以下操作:

  1. 在提升的命令提示符下,键入以下命令:

    set _NT_SYMBOL_PATH=srv*C:\Symbols.NGEN;srv*https://msdl.microsoft.com/download/symbols
    
  2. 键入以下内容以启动内核会话:

    xperf -on Base -stackwalk Profile -f kernel.etl
    
  3. 键入以下内容以启动 CLR 运行时会话记录:

    xperf -start ClrSession -on ClrAll:0x98:5 -f clr.etl -buffersize 128 -minbuffers 256 -maxbuffers 512
    
  4. 运行方案。

  5. 键入以下内容以启动 CLR 断开会话:

    xperf -start ClrRundownSession -on ClrAll:0x118:5+a669021c-c450-4609-a035-5af59af4df18:0x118:5 -f clr_DCend.etl -buffersize 128 -minbuffers 256 -maxbuffers 512
    
  6. 键入以下内容以允许通过将超时设置为 15 来完成 CLR 断开:

    timeout /t 15
    
  7. 键入以下内容以停止 CLR 运行时会话、CLR 断开会话和内核会话,并将它们合并到单个文件中:

    xperf -stop ClrSession ClrRundownSession -stop -d recording.etl
    

解码启用了 CLR 4.0 NGEN PDB 支持的录制

在提升的命令提示符下,键入以下命令:

set _NT_SYMBOL_PATH=srv*C:\Symbols.NGEN;srv*https://msdl.microsoft.com/download/symbols

传输启用了 CLR 4.0 NGEN PDB 支持的录制

若要传输启用了 CLR 4.0 NGEN PDB 支持的录制,请在符号路径中包含以下内容:

srv*C:\Symbols.NGEN

若要将录制内容传输到另一台计算机,请确保同时传输 Recording.etl 和整个文件夹 C:\Symbols.NGEN(及其子文件夹)。

符号支持

symbols