From fef4d6ff2ad9f48e6dccde0f061453e6a3ac624e Mon Sep 17 00:00:00 2001 From: johannst Date: Sun, 19 Apr 2020 22:13:44 +0200 Subject: added new hierarchy --- src/glibc.md | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/glibc.md (limited to 'src/glibc.md') diff --git a/src/glibc.md b/src/glibc.md deleted file mode 100644 index 2b2ab34..0000000 --- a/src/glibc.md +++ /dev/null @@ -1,47 +0,0 @@ -# glibc - -## malloc tracer [`mtrace(3)`][mtrace] -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. -```c -// libmtrace.c -#include -__attribute__((constructor)) static void init_mtrace() { mtrace(); } -``` - -Compile as: -```bash -gcc -shared -fPIC -o libmtrace.so libmtrace.c -``` - -To generate the trace file run: -```bash -export MALLOC_TRACE= -LD_PRELOAD=./libmtrace.so -``` -**Note**: If `MALLOC_TRACE` is not set `mtrace` won't install tracing hooks. - -To get the results of the trace file: -```bash -mtrace $MALLOC_TRACE -``` - -## malloc check [`mallopt(3)`][mallopt] -Configure action when glibc detects memory error. - -```bash -export MALLOC_CHECK_= -``` - -Useful values: -```markdown -1 print detailed error & continue -3 print detailed error + stack trace + memory mappings & abort -7 print simple error message + stack trace + memory mappings & abort -``` - -[mtrace]: http://man7.org/linux/man-pages/man3/mtrace.3.html -[mallopt]: http://man7.org/linux/man-pages/man3/mallopt.3.html -- cgit v1.2.3