diff options
| author | Alejandro Colomar <alx@kernel.org> | 2024-04-26 15:06:49 +0200 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2024-05-02 01:24:19 +0200 |
| commit | dcde2f70372b49ec43efc5db864c9ff585d0a2dd (patch) | |
| tree | 78b9b7425130e4a5858e4c01a524d802423879ed /man3/mtrace.3 | |
| parent | 12aca537ce78a41bbcdaf485209691e10f8002d7 (diff) | |
| download | man-pages-dcde2f70372b49ec43efc5db864c9ff585d0a2dd.tar.gz | |
man/, share/mk/: Move man*/ to man/
This is a scripted change:
$ mkdir man/;
$ mv man* man/;
$ ln -st . man/man*;
$ find share/mk/ -type f \
| xargs grep -l '^MANDIR *:=' \
| xargs sed -i '/^MANDIR *:=/s,$,/man,';
$ find share/mk/dist/ -type f \
| xargs grep -l man \
| xargs sed -i 's,man%,man/%,g';
Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/>
Cc: Petr Vorel <pvorel@suse.cz>
Cc: Jakub Wilk <jwilk@jwilk.net>
Cc: Stefan Puiu <stefan.puiu@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man3/mtrace.3')
| -rw-r--r-- | man3/mtrace.3 | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/man3/mtrace.3 b/man3/mtrace.3 deleted file mode 100644 index 3885f73af9..0000000000 --- a/man3/mtrace.3 +++ /dev/null @@ -1,180 +0,0 @@ -'\" t -.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com> -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.TH mtrace 3 (date) "Linux man-pages (unreleased)" -.SH NAME -mtrace, muntrace \- malloc tracing -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B "#include <mcheck.h>" -.P -.B "void mtrace(void);" -.B "void muntrace(void);" -.fi -.SH DESCRIPTION -The -.BR mtrace () -function installs hook functions for the memory-allocation functions -.RB ( malloc (3), -.BR realloc (3) -.BR memalign (3), -.BR free (3)). -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. -.P -The -.BR muntrace () -function disables the hook functions installed by -.BR mtrace (), -so that tracing information is no longer recorded -for the memory-allocation functions. -If no hook functions were successfully installed by -.BR mtrace (), -.BR muntrace () -does nothing. -.P -When -.BR mtrace () -is called, it checks the value of the environment variable -.BR MALLOC_TRACE , -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. -.P -If -.B MALLOC_TRACE -is not set, -or the pathname it specifies is invalid or not writable, -then no hook functions are installed, and -.BR mtrace () -has no effect. -In set-user-ID and set-group-ID programs, -.B MALLOC_TRACE -is ignored, and -.BR mtrace () -has no effect. -.SH ATTRIBUTES -For an explanation of the terms used in this section, see -.BR attributes (7). -.TS -allbox; -lbx lb lb -l l l. -Interface Attribute Value -T{ -.na -.nh -.BR mtrace (), -.BR muntrace () -T} Thread safety MT-Unsafe -.TE -.\" 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 -.\" muntrace: MT-Unsafe race:mtrace const:malloc_hooks locale -.\" -.\" But there is something wrong in glibc manual, for example: -.\" glibc manual says muntrace should have marking locale because it calls -.\" fprintf(), but muntrace does not execute area which cause locale problem. -.SH STANDARDS -GNU. -.SH NOTES -In normal usage, -.BR mtrace () -is called once at the start of execution of a program, and -.BR muntrace () -is never called. -.P -The tracing output produced after a call to -.BR mtrace () -is textual, but not designed to be human readable. -The GNU C library provides a Perl script, -.BR mtrace (1), -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. -.P -The tracing performed by -.BR mtrace () -incurs a performance penalty (if -.B MALLOC_TRACE -points to a valid, writable pathname). -.SH BUGS -The line-number information produced by -.BR mtrace (1) -is not always precise: -the line number references may refer to the previous or following (nonblank) -line of the source code. -.SH EXAMPLES -The shell session below demonstrates the use of the -.BR mtrace () -function and the -.BR mtrace (1) -command in a program that has memory leaks at two different locations. -The demonstration uses the following program: -.P -.in +4n -.RB "$ " "cat t_mtrace.c" -.\" SRC BEGIN (t_mtrace.c) -.EX -#include <mcheck.h> -#include <stdio.h> -#include <stdlib.h> -\& -int -main(void) -{ - mtrace(); -\& - for (unsigned int j = 0; j < 2; j++) - malloc(100); /* Never freed\-\-a memory leak */ -\& - calloc(16, 16); /* Never freed\-\-a memory leak */ - exit(EXIT_SUCCESS); -} -.EE -.\" SRC END -.in -.P -When we run the program as follows, we see that -.BR mtrace () -diagnosed memory leaks at two different locations in the program: -.P -.in +4n -.EX -.RB "$ " "cc \-g t_mtrace.c \-o t_mtrace" -.RB "$ " "export MALLOC_TRACE=/tmp/t" -.RB "$ " "./t_mtrace" -.RB "$ " "mtrace ./t_mtrace $MALLOC_TRACE" -Memory not freed: --\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- - Address Size Caller -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 -.EE -.in -.P -The first two messages about unfreed memory correspond to the two -.BR malloc (3) -calls inside the -.I for -loop. -The final message corresponds to the call to -.BR calloc (3) -(which in turn calls -.BR malloc (3)). -.SH SEE ALSO -.BR mtrace (1), -.BR malloc (3), -.BR malloc_hook (3), -.BR mcheck (3) |
