0

使用这些命令行:

设置 _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols XPerf -on FILE_IO XPerf -d trace.etl XPerf -symbols verbose -i trace.etl > output.csv

我得到以下输出:

XPerf:警告:对跟踪处理应用访问限制 xperf:使用符号路径:srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols xperf:使用可执行路径:srv*C:\symbols* http://msdl.microsoft.com/downloads/symbols xperf:使用 SymCache 路径:\SymCache xperf:SymCache 引擎版本:v1.1 xperf:接受的最低 SymCache 版本:v1.1

xperf:接受的最低 SymCache 版本:v1.1 [1/2] 100.0% [2/2] 100.0%

            Warning: This trace does not contain the information needed to perform proper symbol decoding.
            It was most likely stopped improperly. Please consult the documentation for information on how
            to stop trace sessions (for example XPerf -stop <logger names> -d <merged.etl>)

            If you still have access to the machine on which this trace was collected, you can have XPerf
            add the required symbol information by running the following on that machine:

                    XPerf -merge <trace1.etl> <trace2.etl> ... <merged.etl>

            Running this command on any machine other than the one on which the trace was collected will
            result in incorrect symbol decoding.

我究竟做错了什么?

4

1 回答 1

0
XPerf -merge trace.etl trace_with_correct_symbol_decoding_info.etl

现在您可以使用原始命令解析 trace_with_correct_symbol_decoding_info.etl :

XPerf -symbols verbose -i trace_with_correct_symbol_decoding_info.etl > output.csv

合并命令不仅合并了多个etl文件,它还“添加了安全符号解码所需的图像识别信息”。

D:\>xperf -help merge
    Trace merge options:

    xperf -merge trace1.etl trace2.etl ... merged.etl

        -Merge      trace1.etl trace2.etl ... merged.etl Merge trace1.etl trace2.etl ... into
                                     merged.etl, also adding image identification
                                     information required for safe symbol
                                     decoding.
于 2012-05-27T03:10:23.583 回答