xperf 拒绝加载任何符号
Posted
技术标签:
【中文标题】xperf 拒绝加载任何符号【英文标题】:xperf refusing to load any symbol 【发布时间】:2012-05-11 01:34:56 【问题描述】:使用这些命令行:
设置 _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols XPerf -on FILE_IO XPerf -d trace.etl XPerf -symbols 详细 -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.
我做错了什么?
【问题讨论】:
【参考方案1】: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
merge命令不仅合并了多个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.
【讨论】:
以上是关于xperf 拒绝加载任何符号的主要内容,如果未能解决你的问题,请参考以下文章