DMALLOC(1)

NAME
dmalloc - program used to set the environment for debugging using the dmalloc debugging library.

SYNOPSIS
dmalloc [options]

DESCRIPTION
This manual page documents the dmalloc command. It was written for the Debian GNU/Linux distribution based, almost verbatim, on the original documentation provided by the library in GNU Info format; see below.

The dmalloc program is designed to assist in the setting of the environment variable DMALLOC_OPTIONS. It is designed to print the shell commands necessary to make the appropriate changes to the environment. Unfortunately, it cannot make the changes on its own so the output from dmalloc should be sent through the `eval' shell command which will do the commands.

With shells that have aliasing or macro capabilities: csh, bash, ksh, tcsh, zsh, etc., setting up an alias to dmalloc to do the eval call is recommended. Csh/tcsh users (for example) should put the following in their `.cshrc' file:

alias dmalloc 'eval `\dmalloc -C *`'

Bash and Zsh users on the other hand should put the following in their `.zshrc' file:

function dmalloc { eval `command dmalloc -b $*` }

This allows the user to execute the dmalloc command as `dmalloc arguments'.

The most basic usage for the program is `dmalloc [-bC] tag'.
 The `-b' or `-C' (either but not both flags used at a time) are for generating Bourne or C shell type commands respectively. dmalloc will try and use the `SHELL' environment variable to determine whether bourne or C shell commands should be generated but you may want to explicitly specify the correct flag.

The tag argument to dmalloc should match a line from the user's run-time configuration file or should be one of the built-in tags. If no tag is specified and no other option-commands used, dmalloc will display the current settings of the environment variable. It is useful to specify one of the verbose options when doing this.

To find out the usage for the debug malloc program try dmalloc --usage-long. The standardized usage message that will be displayed is one of the many features of the argv library included with this package. It is available via ftp from `ftp.letters.com' in the `/src/argv' directory. See `argv.info' there for more information.

OPTIONS

-a  address Set the `addr' part of the DMALLOC_OPTIONS variable to address (or alternatively address:number).

-b  Output Bourne shell type commands.

-C  Output C shell type commands.

-c  Clear/unset all of the settings not specified with other arguments. Clear will never unset the `debug' setting. Use -d 0 or a tag to `none' to achieve this.

-d  bitmask Set the `debug' part of the DMALLOC_OPTIONS env variable to the bitmask value which should be in hex. This is overridden (and unnecessary) if a tag is specified.

-D  List all of the debug-tokens. Useful for finding a token to be used with the -p or -m options. Use with -v or -V verbose options.

-e  errno Print the dmalloc error string that corresponds to the error number errno.

-f  filename Use this configuration file instead of the RC file ~/.dmallocrc.

-i  number Set the checking interval to number.

-k  Keep the settings when using a tag. This overrides -r .

-l  filename Set the log-file to filename.

-L  Output the debug-value not in hex but by individual debug-tokens in long form.

-m  token(s) Remove (minus) the debug capabilities of token(s) from the current debug setting or from the selected tag (or -d value). Multiple -m's can be specified.

-n  Without changing the environment, output the commands resulting from the supplied options.

-p  token(s) Add (plus) the debug capabilities of token(s) to the current debug setting or to the selected tag (or -d value). Multiple -p's can be specified.

-r  Remove (unset) all settings when using a tag. This is useful when you are returning to a standard development tag and want the logfile, address, and interval settings to be cleared automatically. If you want this behavior by default, this can be put into the dmalloc alias.

-s  number Set the `start' part of the DMALLOC_OPTIONS env variable to number (alternatively `file:line').

-S  Output the debug-value not in hex but by individual debug-tokens in short form.

-t  List all of the tags in the rc-file. Use with -v or -V verbose options.

-v  Give verbose output. Especially useful when dumping current settings or listing all of the tags.

If no arguments are specified, dmalloc dumps out the current settings that you have for the environment variable. For example:

     Debug-Flags '0x40005c7' (runtime)
     Address 0x1f008, count = 3
     Interval 100
     Logpath 'malloc'
     Start-File not-set

With a -v option and no arguments, dmalloc dumps out the current settings in a verbose manner. For example:

     Debug-Flags '0x40005c7' (runtime)
        log-stats, log-non-free, log-blocks, log-unknown,
        log-bad-space, check-fence, catch-null
     Address 0x1f008, count = 10
     Interval 100
     Logpath 'malloc'
     Start-File not-set

SEE ALSO
The documentation for the library is in GNU Info format. Please check the file /usr/share/info/dmalloc.info.gz for more details.

FILES

/usr/share/info/dmalloc.info.gz
    The real documentation for the dmalloc library.

~/.dmallocrc
    User's configuration file.

AUTHOR
This manual page was written by Luis Francisco González <luisgh@debian.org>, for the Debian GNU/Linux system (but may be used by others). The library was written by Gray Watson. Please see the copyright file in /usr/share/doc/libdmalloc-dev for details.