Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
AutoLogger can turn on heap tracing at boot time. When AutoLogger is used in conjunction with WPA On/Off Transition Trace Capture, also referred to as xbootmgr, information can be collected during the on/off transition phases of the operating system.
The accompanying example shows how to set the appropriate registry values.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\MyHeapSession]
; NOTE: You might think the Guid could be any value to identify the session uniquely,
; but in order to turn on heap tracing it *MUST* be the HeapGuid,
"GUID"="{222962ab-6180-4b88-a825-346b75f2a24a}"
"Start"=dword:00000001
; Default LogFileMode = EVENT_TRACE_FILE_MODE_SEQUENTIAL | _DELAY_OPEN_FILE_MODE | _ADD_HEADER_MODE
; See etw\tracesub.c, ValidModeMask for a list of all valid bits.
;// Logger Mode flags
;#define EVENT_TRACE_FILE_MODE_NONE 0x00000000 // Logfile is off
;#define EVENT_TRACE_FILE_MODE_SEQUENTIAL 0x00000001 // Log sequentially
;#define EVENT_TRACE_FILE_MODE_CIRCULAR 0x00000002 // Log in circular manner
;#define EVENT_TRACE_FILE_MODE_APPEND 0x00000004 // Append sequential log
;#define EVENT_TRACE_REAL_TIME_MODE 0x00000100 // Real time mode on
;#define EVENT_TRACE_DELAY_OPEN_FILE_MODE 0x00000200 // Delay opening file
;#define EVENT_TRACE_BUFFERING_MODE 0x00000400 // Buffering mode only
;#define EVENT_TRACE_PRIVATE_LOGGER_MODE 0x00000800 // Process Private Logger
;#define EVENT_TRACE_ADD_HEADER_MODE 0x00001000 // Add a logfile header
;#define EVENT_TRACE_USE_GLOBAL_SEQUENCE 0x00004000 // Use global sequence no.
;#define EVENT_TRACE_USE_LOCAL_SEQUENCE 0x00008000 // Use local sequence no.
;#define EVENT_TRACE_RELOG_MODE 0x00010000 // Relogger
;#define EVENT_TRACE_USE_PAGED_MEMORY 0x01000000 // Use pageable buffers
;
; Setting it to sequential is sufficient - EVENT_TRACE_DELAY_OPEN_FILE_MODE and EVENT_TRACE_ADD_HEADER_MODE are not needed.
;0x00000001 // Log sequentially
"LogFileMode"=dword:00000001
"FileName"="F:\\tmpHeapAutologger.etl"
; 64KB * 0x0400 = 64 MB
; 64KB * 0x1000 = 256 MB
"BufferSize"=dword:00000040
"MaximumBuffers"=dword:00001000
"MinimumBuffers"=dword:00000400
; Max file size in MB.
; Default (if we leave absent) is 100 (MB) and after that the trace session is shut down. That will cause xperf to fail when trying to merge.
; If we leave it blank, then "xperf -loggers" shows it set to 100.
; Set to 0 for no limit.
"MaxFileSize"=dword:00000000
; This value copied from GlobalLogger, where it was set based on -stackwalk VirtualAlloc+HeapCreate+HeapAlloc+HeapRealloc
"StackWalkingFilter"=hex:62,02,00,00,20,10,00,00,21,10,00,00,22,10,00,00
; NOTE: There are no guids below this.
; We accomplish the goal of heap logging by using the HeapGuid as the session instance guid.
; [end]