diff options
Diffstat (limited to 'nx-X11/util/memleak/README')
-rw-r--r-- | nx-X11/util/memleak/README | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/nx-X11/util/memleak/README b/nx-X11/util/memleak/README deleted file mode 100644 index 9be2d9ca5..000000000 --- a/nx-X11/util/memleak/README +++ /dev/null @@ -1,70 +0,0 @@ -.\" $Xorg: README,v 1.3 2000/08/17 19:55:19 cpqbld Exp $ - -This library replaces the C library allocator; -providing malloc, free, realloc and calloc (sorry, no valloc) - -In doing so, it provides extensive memory bug checking, locating: - - Lost memory; memory which has not been freed and which has no - references - - In use free memory; memorhy which has been freed and still has - references to it. - - Stores to freed memory - - free/realloc with invalid pointers -- if you pass in a pointer to - the middle of an allocated block, it will even tell you which one - -For each of these errors, a report entry is generated which includes -the stack backtrace of either the allocation or free (which ever occured -last) along with the current stack, when relevant. - -Unreferenced allocated memory, stores to freed memory and referenced freed -memory are only caught when CheckMemory is called. It is automatically -called each time 1m of data has been freed, and is called when the program -exits (by registering with atexit(3)/on_exit(3)). You can call it whenever -you want. - -Both the X server and font servers call CheckMemory after each reset when -their respective os/utils.c are compiled -DMEMBUG. - -There are a few global variables you can set with the debugger to -help isolate problems: - - FindLeakWarnMiddlePointers - Normally, memleak ignores pointers to the middle of - freed memory. These are frequently simply random data - which happens to look like a pointer. Turning this - on will generate additional messages. - FindLeakAllocBreakpoint - At each allocation, memleak increments a serial number - and stores it in the allocation header. By rerunning - the program, you can stop when that piece of memory - is going to be allocated. Store the serial number - in this global variable and put a debugger breakpoint inside - AddActiveBlock at the indicated line. - FindLeakFreeBreakpoint - Similarly for freeing memory. - FindLeakTime - The current serial number - FindLeakCheckAlways - When set, memleak checks the entire memory system after - each allocation or free. This is very expensive, but - may catch errors not otherwise found until too late. - -To include this in your application, simply place libmemleak.a before the -end of the link line; it will then override the C library allocator. - -To port this system to a new machine, you must provide two values, one -indicating the lowest data address in a program and one indicating the -highest stack address. In addition, to get return stack traces (which are -almost essential for debugging), you must provide the function -getReturnStack. Samples for MIPS and SPARC are included already. - -The output from the leak tracer includes only PC values in the stack -traces. To convert these into useful values, run the output of -the leak tracer through the find-routines script; after making sure you have -built the modified version of gdb-4.4 on your machine. - --keith |