You are on page 1of 2

Microsoft Windows Performance Analyzer Support

==============================================

Online documentation is available at:

http://go.microsoft.com/fwlink/?LinkId=103276

CONTENTS
========

1. Frequently Asked Questions

1. Frequently Asked Questions


=============================

1.a. Will xperf dump my custom events to the xperf dumper?

xperf supports automatically all manifest-based events on Vista


machines with exactly the same manifest-based providers installed.

xperf does not support decoding of custom classic events.

1.b. I cannot decode symbols. Why is that and how can I fix it?

The xperf/xperfview trace symbol decoding support is quite complex.


Please ensure the following requirements are met:

i. You have specified -symbols on the xperf command line, or


selected "Load Symbols" in xperfview *before* you opened a summary
table.

ii. You configured the environment variables as described in the online


help (xperf -help symbols)

iii. The ETW kernel trace file has been stopped and merged with xperf's
option -d or merged on the same machine it was taken with xperf's
option -merge. (xperf performs a special image identification
process during its custom trace merge.)

iv. The ETW user trace file is processed by xperf in conjunction


with a kernel trace file taken in the same time on the same machine
and merged as explained at point iv. above.

v. You have access to the binary and symbol sources specified on


_NT_SYMBOL_PATH. If you use symbol server, please note that many
times the symbol server is just a redirector, and you need to have
access to both the symbol server itself and the site actually hosting
the binaries and/or symbols.

vi. _NT_SYMBOL_PATH points to the right files. If the files are from a
different build or architecture they will not work. If you replace
the binary or symbols you will not be able to decode anymore symbols
for traces recording activity of the old binaries.

To rule out a symbol mismatch, use symchk from the Windows Debugging
Tools distribution to ensure the symbols match the binaries on the
machine on which the trace was taken:

symchk /v <local_file> /s <sympath_to_name.pdb>

To rule out a binary mismatch, use fc /b to ensure the binaries on


the machine on which the trace was taken match the ones on the drop
share:

fc /b <local_file> <drop_share_file>

vii. The ETW kernel trace was captured with at least PROC_THREAD+LOADER.
These flags provide basic information about process lifetime and
image ranges in process memory, which are instrumental in decoding
virtual addresses to images and symbols.

To verify that these flags have been enabled in the ETW kernel trace,
check that Process events (Create, Delete, Start Rundown, End Rundown)
and Image events (Load, Unload, Start Rundown, End Rundown) are present
in the table generated by "xperf -i kernel.etl -a tracestats -detail".

1.c. I'd like to have ETW log the context stacks for certain events. How
can I do that?

Please refer to "xperf -help stackwalk".

You might also like