Using CLR 4.0 NGEN PDB Support

Updated: October 20, 2013

Applies To: Windows 8, Windows 8.1

Both Xperf and Windows® Performance Recorder (WPR) can run with Common Language Runtime (CLR) 4.0 Native Image Generator (NGEN) PDB support enabled.

When you start a recording in the WPR user interface (UI), NGEN program database files (PDBs) are generated next to the saved recording. These PDBs decode symbols of modules that were created by using NGEN for managed scenarios. For Recording.etl, the NGEN PDBs are in the Recording.etl.NGENPDB folder.

We recommend the following setup before running WPR with NGEN support enabled:

  • Create an environment variable called Xperf_NGENPdbsPath, and set it to a local directory

  • Append %Xperf_NGENPdbsPath% to the symbol path environment variable to include managed PDBs

  • (Optional, but recommended) Set the SymCache path environment variable to a local directory

To use NGEN support with Xperf, do the following:

  1. At an elevated command prompt, type the following:

    set _NT_SYMBOL_PATH=srv*C:\Symbols.NGEN;srv*http://msdl.microsoft.com/download/symbols
    
  2. Type the following:

    set XPERF_CreateNGenPdbs=1
    
  3. Type the following to start the kernel session:

    xperf -on Base -stackwalk Profile -f kernel.etl
    
  4. Type the following to start the CLR runtime session recording:

    xperf -start ClrSession -on ClrAll:0x98:5 -f clr.etl -buffersize 128 -minbuffers 256 -maxbuffers 512
    
  5. Run your scenario.

  6. Type the following to start the CLR rundown session:

    xperf -start ClrRundownSession -on ClrAll:0x118:5+a669021c-c450-4609-a035-5af59af4df18:0x118:5 -f clr_DCend.etl -buffersize 128 -minbuffers 256 -maxbuffers 512
    
  7. Type the following to allow time for CLR rundown to complete by setting the timeout to 15:

    timeout /t 15
    
  8. Type the following to stop the CLR runtime session, CLR rundown session, and kernel session, and to merge them into a single file:

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

At an elevated command prompt, type the following:

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

To transfer a recording with CLR 4.0 NGEN PDB support enabled, include the following in the symbol path:

srv*C:\Symbols.NGEN

To transfer the recording to a different computer, make sure that both Recording.etl and the entire folder C:\Symbols.NGEN (along with its subfolders) are transferred.

See Also

Reference

symbols

Concepts

Symbol Support

Show:
© 2015 Microsoft