|
|
; ; General memory management configuration parameters. ; [Memory Management] ; ; Virtual Memory ; ; Turning on Virtual Memory forces all blocks to be aligned at the end of physical pages. ; This will cause GP faults if the memory is accessed beyond it's allocation limit. ; ; If Virtual Memory is enabled, then Virtual Align specifies the alignment of the block. This MUST ; be 4 for non x86 machines (this is enforced internally by EXCHMEM. ; VirtualMemory=0 VirtualAlign=0
; ; Leak Detection ; ; If AssertLeaks is non 0, EXCHMEM will assert when a leak has been detected. ; If DumpLeaks is non 0, EXCHMEM will dump information about the leak to the <program>.MEM file located in the ; log path directory. ; If DumpLeaksToDebugger is non 0, EXCHMEM will dump information about the leak to the debugger using OutputDebugString. ; ; AssertLeaks=0 DumpLeaks=0 DumpLeaksToDebugger=1 ; ; Memory Fill. ; ; If FillMemory is non 0, EXCHMEM will fill allocated memory with the "AllocFillByte", and will fill ; freed memory with the "FreeFillByte". Note that the high bit should be on in both AllocFillByte ; and FreeFillByte to force a GP fault if freed (or uninitialized) memory is ever accessed. ; FillMemory=0 AllocFillByte=0xFA FreeFillByte=0xCD
; ; Heap monitoring ; ; If MonitorHeap is non 0, and the DLL GLHMON32.DLL is present on the machine, This will invoke ; the MAPI heap monitor on all created heaps. ; MonitorHeap=0
; ; If TrackMemory is non 0, this will cause all allocations and frees to be written to the <program>.TRK file ; located in the log path directory. TrackMemoryInMemory keeps an array of ; <n> entries around containing the last memory functions called. This array ; can be dumped using the xmdbgext.lib cdb extension functions DumpLast and ; DumpNear. ; TrackMemory=0 TrackMemoryInMemory=1000
; Symbol information ; ; If SymbolLookup is non 0, EXCHMEM will perform a symbol lookup on addresses before dumping ; them to either the debugger or to the trace file. ; ; StackFrames specifies the number of stack frames to capture when retrieving the call stack ; of allocations (and frees). ; SymPath specifies the symbol path to be used when looking for symbols. ; SymbolLookup=1 StackFrames=12 SymPath=
; ; If OverWriteDetect is non 0, this causes a 4 byte header and trailer to be added to each allocated ; block. This header is validated on every heap validation, and when memory is freed. ; OverwriteDetect=1
; ; If ValidateMemory is set, then the block passed into every Realloc, Free, or HeapSize API is validated. ; If an invalid block is detected, then it is dumped to the <program>.VAL file in the log path directory. ; ; If AssertValid is set, then an assert is raised when an invalid block is detected. ; If TrapOnInvalid is set, then a DebugBreak() exception is raised after the block was detected. ; ValidateMemory=1 AssertValid=0 TrapOnInvalid=1 ; ; If TrackFreedMemory is set, EXCHMEM does not actually release freed blocks to the heap. Instead, it keeps ; the blocks on a free list and checks to see if a block being freed is on that list. This allows double ; frees to be detected. ; ; FreeMemorySize is the number of freed blocks to maintain. ; TrackFreedMemory=1 FreedMemorySize=512
; ; LogPath specifies the directory to write the <program>.TRK, <program>,MEM, and <program>.VAL files. ; LogPath=c:\exchsrvr
; ; Artifical failures. This describes how often calls to the allocator should fail. ; [Heap Resource Failures] FailuresEnabled=0 AllocsToFirstFailure=0 FailureInterval=0 FailureSize=0 FaultingAllocationNumber=0 ; ; The "Apps To Track" section specifies the applications that are to run ; with EXCHMEM debugging enabled. By default, debugging is NOT enabled. ;
[Apps To Track] mad=0 store=0 dsamain=0 emsmta=0
|