{{ message }}
traceman
Directory actions
More options
Directory actions
More options
traceman
Folders and files
<html> <head> <meta http-equiv=Content-Type content="text/html; charset=unicode"> <title>TraceMan Sample</title> </head> <body> <h1>TraceMan Sample</h1> <h2>TraceMan is a tool which provides information about</h2> <ul> <li><p>application dependent assemblies </p></li> <li><p>state of the assemblies in the native fusion cache in human readable form</p></li> </ul> <h2>TraceMan options/functionalities</h2> <ul> <li><p>Traces application dependent assemblies</p></li> <li><p>Dumps information about assemblies from the native fusion cache(-dump)</p></li> <li><p>Prints diagnostic information depending on verbosity level(-v/-verbose)</p></li> <li><p>Filters output information(-f/-filter)</p></li> <li><p>Regular expressions are supported(-regex)</p></li> <li><p>Saves output data into file(-output)</p></li> </ul> <h2>How does TraceMan work?</h2> <ul> <li><p>Read manifest</p> <ul> <li><p>If WinXP/2k3 prefer to read external then embedded</p></li> <li><p>If Vista prefer to read embedded then external one</p></li> </ul> </li> <li><p>Read configuration file if exists</p></li> <li><p>Get information about assemblies</p></li> <li><p>For all assemblies do</p></li> <li><p>Read configuration file</p></li> <li><p>Read policy if exists</p></li> <li><p>Check assembly</p></li> </ul> <h1>Building and Running the Sample</h1> <h2>To build the sample</h2> <ul> <li><p> Open the solution traceman.sln.</p></li> <li><p>From the <b>Build</b> menu, click <b>Build Solution</b>.</p></li> </ul> <h2>Tracing or dumping</h2> <ul> <li><p>Default verbosity level is set to 2</p></li> <li><p>Tracing</p> <ul> <li><p>traceman <app_name>.exe</p></li> <li><p>Some examples:</p> <ul> <li><p>traceman –v:3 –f:*CRT*Debug* c:\app.exe</p></li> <li><p>traceman –v:1 c:\app.exe</p></li> </ul> </li> </ul> </li> <li><p>Dumping</p> <ul> <li><p>traceman –dump</p></li> <li><p>Some examples:</p> <ul> <li><p>traceman –dump –v:1</p></li> <li><p>traceman –dump –v:3 –f:*policy*MFC* -output:sxsdump.txt</p></li> </ul> </li> </ul> </li> </ul> <h3>Filtering results</h3> <ul> <li><p>Filter tries to match the result to following expressions</p> <ul><li><p>arch_assemblyName_token_version_lang</p></li></ul> </li> <li><p>How to filter policy</p></li> <li><p>Some examples:</p> <ul> <li><p>traceman.exe -f:*CRT* -dump</p></li> <li><p>traceman.exe -f:*MICROSOFT.VC?0*CRT* -dump</p></li> <li><p>traceman.exe -f:.*CRT.*|.*MFC.* -dump –regex</p></li> <li><p>traceman.exe -f:.*MICROSOFT\.VC[98]0.*CRT.* -dump –regex</p></li> </ul> <li> <p>Remember! Traceman provides only information about CRT, MFC, ATL and OpenMP assemblies unless you change VC_LIBS_FILTER define in stdafx.h</p> </li> </ul> <h1>Sample Files</h1> <p>The sample includes the following main files:</p> <ul> <li><p>ApplicationManifestFragment.cpp, ApplicationManifestFragment.h — parsing Application Manifest</p></li> <li><p>AssemblyManifestFragment.cpp, AssemblyManifestFragment.h — parsing Assembly Manifest</p></li> <li><p>ConfigManifestFragment.cpp, ConfigManifestFragment.h — parsing Config Manifest</p></li> <li><p>ConsoleMessageLogger.cpp, ConsoleMessageLogger.h — formatting and logging data on console</p></li> <li><p>debug.h — basic debugging macros</p></li> <li><p>File.cpp, File.h — basic operations on files</p></li> <li><p>FileMessageLogger.cpp, FileMessageLogger.h — formatting and logging data in file</p></li> <li><p>ManifestFragment.cpp, ManifestFragment.h — base class implementation for all kinds of manifest fragments</p></li> <li><p>MessageLogger.cpp, MessageLogger.h — base class implementation for message loggers</p></li> <li><p>ParamParser.cpp, ParamParser.h — parsing input command line parameters</p></li> <li><p>PublisherManifestFragment.cpp, PublisherManifestFragment.h — parsing Publisher Manifest</p></li> <li><p>traceman.cpp, traceman.h — main application logic</p></li> <li><p>Version.cpp, Version.h — class that handle operations on version data</p></li> <li><p>XMLReader.cpp, XMLReader.h — wrapper to xmllite library</p></li> </ul> <h1>Keywords</h1> <p>This sample uses the following keywords:</p> <p>Systrace.exe; dependency walker; Event Viewer; manifestview.exe; CBS Logs; mt.exe; std::wstring; std::tr1::shared_ptr; std::tr1::wregex; xmllite; std::tr1::regex_replace; std::tr1::regex_search; std::tr1::regex_match; std::tr1::wsmatch; std::wstring; std::vector; std::unique; std::list; std::sort; </p> <div> <p>© Microsoft Corporation. All rights reserved. Send <a href="mailto:DevDocs@microsoft.com?subject=Documentation%20Feedback%20:TraceMan%20Sample">comments</a> about this topic to Microsoft. </p> </div> </body> </html>
