]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/mtrace.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / mtrace.3
index 20efff1e2aa4c44e9740e5e9e5dc8e8c8c42a66f..ff9f0fc5df846002f26f2d21b928d44ae68c5d8d 100644 (file)
 .\" the source, must acknowledge the copyright and authors of this work.
 .\" %%%LICENSE_END
 .\"
-.TH MTRACE 3 2015-03-02 "GNU" "Linux Programmer's Manual"
+.TH MTRACE 3 2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
 mtrace, muntrace \- malloc tracing
 .SH SYNOPSIS
 .B "#include <mcheck.h>"
-.sp
+.PP
 .B "void mtrace(void);"
-.sp
+.PP
 .B "void muntrace(void);"
 .SH DESCRIPTION
 The
@@ -43,7 +43,7 @@ These hook functions record tracing information about memory allocation
 and deallocation.
 The tracing information can be used to discover memory leaks and
 attempts to free nonallocated memory in a program.
-
+.PP
 The
 .BR muntrace ()
 function disables the hook functions installed by
@@ -54,7 +54,7 @@ If no hook functions were successfully installed by
 .BR mtrace (),
 .BR muntrace ()
 does nothing.
-
+.PP
 When
 .BR mtrace ()
 is called, it checks the value of the environment variable
@@ -62,7 +62,7 @@ is called, it checks the value of the environment variable
 which should contain the pathname of a file in which
 the tracing information is to be recorded.
 If the pathname is successfully opened, it is truncated to zero length.
-
+.PP
 If
 .BR MALLOC_TRACE
 is not set,
@@ -88,7 +88,7 @@ T{
 .BR muntrace ()
 T}     Thread safety   MT-Unsafe
 .TE
-.\" FIXME: The marking is different from that in theglibc manual,
+.\" FIXME: The marking is different from that in the glibc manual,
 .\" markings in glibc manual are more detailed:
 .\"
 .\"      mtrace: MT-Unsafe env race:mtrace const:malloc_hooks init
@@ -105,7 +105,7 @@ In normal usage,
 is called once at the start of execution of a program, and
 .BR muntrace ()
 is never called.
-
+.PP
 The tracing output produced after a call to
 .BR mtrace ()
 is textual, but not designed to be human readable.
@@ -115,7 +115,7 @@ that interprets the trace log and produces human-readable output.
 For best results,
 the traced program should be compiled with debugging enabled,
 so that line-number information is recorded in the executable.
-
+.PP
 The tracing performed by
 .BR mtrace ()
 incurs a performance penalty (if
@@ -134,9 +134,9 @@ function and the
 .BR mtrace (1)
 command in a program that has memory leaks at two different locations.
 The demonstration uses the following program:
+.PP
 .in +4
-.nf
-
+.EX
 .RB "$ " "cat t_mtrace.c"
 #include <mcheck.h>
 #include <stdlib.h>
@@ -155,15 +155,15 @@ main(int argc, char *argv[])
     calloc(16, 16);             /* Never freed\-\-a memory leak */
     exit(EXIT_SUCCESS);
 }
-
-.fi
+.EE
 .in
+.PP
 When we run the program as follows, we see that
 .BR mtrace ()
 diagnosed memory leaks at two different locations in the program:
+.PP
 .in +4n
-.nf
-
+.EX
 .RB "$ " "cc \-g t_mtrace.c \-o t_mtrace"
 .RB "$ " "export MALLOC_TRACE=/tmp/t"
 .RB "$ " "./t_mtrace"
@@ -174,9 +174,9 @@ Memory not freed:
 0x084c9378     0x64  at /home/cecilia/t_mtrace.c:12
 0x084c93e0     0x64  at /home/cecilia/t_mtrace.c:12
 0x084c9448    0x100  at /home/cecilia/t_mtrace.c:16
-.fi
+.EE
 .in
-
+.PP
 The first two messages about unfreed memory correspond to the two
 .BR malloc (3)
 calls inside the