From 15230bbb9b1f69def9b0e1b41a097638c0fda734 Mon Sep 17 00:00:00 2001 From: johannst Date: Tue, 28 Apr 2020 09:11:18 +0000 Subject: deploy: fef4d6ff2ad9f48e6dccde0f061453e6a3ac624e --- glibc.html | 249 ------------------------------------------------------------- 1 file changed, 249 deletions(-) delete mode 100644 glibc.html (limited to 'glibc.html') diff --git a/glibc.html b/glibc.html deleted file mode 100644 index cf2e12a..0000000 --- a/glibc.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - glibc - Notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

glibc

-

malloc tracer mtrace(3)

-

Trace memory allocation and de-allocation to detect memory leaks. -Need to call mtrace(3) to install the tracing hooks.

-

If we can't modify the binary to call mtrace we can create a small shared -library and pre-load it.

-
// libmtrace.c
-#include <mcheck.h>
-__attribute__((constructor))  static void init_mtrace() { mtrace(); }
-
-

Compile as:

-
gcc -shared -fPIC -o libmtrace.so libmtrace.c
-
-

To generate the trace file run:

-
export MALLOC_TRACE=<file>
-LD_PRELOAD=./libmtrace.so <binary>
-
-

Note: If MALLOC_TRACE is not set mtrace won't install tracing hooks.

-

To get the results of the trace file:

-
mtrace <binary> $MALLOC_TRACE
-
-

malloc check mallopt(3)

-

Configure action when glibc detects memory error.

-
export MALLOC_CHECK_=<N>
-
-

Useful values:

-
1   print detailed error & continue
-3   print detailed error + stack trace + memory mappings & abort
-7   print simple error message + stack trace + memory mappings & abort
-
- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3