aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/util/memleak/README
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/util/memleak/README')
-rw-r--r--nx-X11/util/memleak/README70
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