0

I open .etl(produced by xperf) file with WPA, I can see the information about Analysis: enter image description here

I also want to see the process stack, and I think I should load symbols first. But the Load Symbols in Trace is grayed out: enter image description here

I want to ask how to load symbols to see the process stack?

WPA version: 10.0.19041.685(WinBuild.160101.0800)

OS version: Windows Server 2019 Datacenter

OS build: 17763.1637

Alfred
  • 71
  • 5
  • did you stop the trace with -d **xperf -d NAME.etl**? This is important to include the symbol info – magicandre1981 Dec 18 '20 at 14:00
  • any update on this? – magicandre1981 Dec 22 '20 at 14:39
  • I haven`t solved the problem, because I cannot run` xperf `command, I only have the .etl file which does not have a problem. – Alfred Dec 23 '20 at 01:34
  • if this trace is not captured correctly you can't fix it. Open the trace in [Perfview](https://github.com/microsoft/perfview/releases/latest) and if you can't find [KernelTraceControl/DbgID_RSDS events](https://github.com/microsoftarchive/bcl/blob/master/Tools/ETW/traceEvent/SymbolEventParser.cs#L36) the ETL is useless. – magicandre1981 Dec 23 '20 at 05:16
  • because you haven't replied I wrote now an answer. – magicandre1981 Jan 01 '21 at 18:29

1 Answers1

2

To be able to load debug symbols, it is required to have the PDB names + a GUID that is generated during linking.

This information is not included, so all ETW tools add KernelTraceControl/DbgID_RSDS events to ETL files at stop in a merge step. When using xperf, you have to call -d at stop (xperf -d result.etl).

To verify that the required event is included, open the ETL in Perfview in look in events:

enter image description here

If you can't find the events, the trace was not captured correctly and is useless.

magicandre1981
  • 27,895
  • 5
  • 86
  • 127