File: README

package info (click to toggle)
mpatrol 1.4.8-11
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 14,304 kB
  • ctags: 3,386
  • sloc: ansic: 25,268; sh: 8,871; makefile: 1,755
file content (68 lines) | stat: -rw-r--r-- 3,657 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
README FOR THE MPATROL LIBRARY


This file contains an overview of the mpatrol library.  The documentation for
the library currently exists as a manual in TeXinfo format located in the doc
directory or as a set of UNIX manual pages located in the man directory.  A
quick reference card is also available.  For instructions on how to build and
install the mpatrol library and its tools please see the mpatrol manual.


Introduction

    The mpatrol library is yet another link library that attempts to diagnose
    run-time errors that are caused by the wrong use of dynamically allocated
    memory.  If you don't know what the malloc() function or operator new[] do
    then this library is probably not for you.  You have to have a certain
    amount of programming expertise and a knowledge of how to run a command
    line compiler and linker before you should attempt to use this.

    Along with providing a comprehensive and configurable log of all dynamic
    memory operations that occurred during the lifetime of a program, the
    mpatrol library performs extensive checking to detect any misuse of
    dynamically allocated memory.  All of this functionality can be integrated
    into existing code through the inclusion of a single header file at
    compile-time.  On UNIX and Windows platforms (and AmigaOS when using gcc)
    this may not even be necessary as the mpatrol library can be linked with
    existing object files at link-time or, on some platforms, even dynamically
    linked with existing programs at run-time.

    All logging and tracing output from the mpatrol library is sent to a
    separate log file in order to keep its diagnostics separate from any that
    the program being tested might generate.  A wide variety of library settings
    can also be changed at run-time via an environment variable, thus removing
    the need to recompile or relink in order to change the library's behaviour.


Further information

    Due to their very nature, problems with dynamic memory allocations are
    notoriously difficult to reproduce and debug, and this is likely to be the
    case if you find a bug in the mpatrol library as it might be extremely hard
    to reproduce on another system.  Details on how to report bugs are given in
    the manual, but it would be very useful if you could try to provide as much
    information as possible when reporting a problem, and that includes having a
    look in the library source code to see if it's obvious what is wrong.
    However, please try to read the frequently asked questions first in case
    your question or problem is covered there since they are usually updated
    every time I receive a question about mpatrol.

    The latest version of the mpatrol library can always be found at
    `http://www.cbmamiga.demon.co.uk/mpatrol/', and any correspondence relating
    to mpatrol (bug reports, enhancement requests, compliments ;-) should be
    sent to <mpatrol@cbmamiga.demon.co.uk>.  I normally only check my e-mail
    about once or twice a week, so don't expect an immediate response.  I can
    also be reached at <graeme.roy@analog.com> but that is my work e-mail
    address.  There is also a discussion group at
    `http://groups.yahoo.com/group/mpatrol/' where you can post mpatrol-related
    questions but you must first subscribe to the group before you can send mail
    to it.

    Oh, and always remember to do final release builds without the mpatrol
    library as the library is much slower than normal malloc implementations and
    uses much more memory.

    Happy debugging!

    Graeme Roy, 11th October, 1999.
    Edinburgh, Scotland.