[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

jims-dynamic-alloc-monitor (here, have a tool :)



Hi,

I wrote this back in 1994, found it lying around and decided to send it out
to all of you. It's very small, but fairly powerful. I'm getting ready to
use it to check something for memory leaks now :)

If at least three people say they like it, I will issue an ITP, and the 
package would be ready in a few days.

-Jim

--

All files that come with this distribution (including the one you are
reading) are copyright (c) 1994 by Jim Lynch. There is ABSOLUTELY NO
WARRANTY, and if you are reading this, you agree to hold the author
absolutely harmless for any damage resulting from any use or abuse of
this software. Distribution of this package without this notice is
forbidden. HOWEVER:

This software is covered under the GNU General Public License version
2. You may also use any LATER version of the GNU GPL, at your option.

Permission is granted to obtain, use, modify and distribute this
package anywhere (distribution is limited by the terms of the GPL),
provided this notice remains intact, and the original distribution
(direct from the original author) is included. The original author is
Jim Lynch <jim@laney.edu>.

You should have received a copy of the GNU GPL.  If not, you may FTP
it from a wide variety of FTP sites, including prep.ai.mit.edu in
/pub/gnu.  I don't know GNU's snail-mail address. Once I find out, it
will be included here for those who do not have FTP access.

---

This is Jim Lynch's dynamic allocation monitor package. What it does
is reports when a block is allocated or deallocated, with the line
number and c source file name of where the allocation or deallocation
took place. It also reports memory leakages at points of exit (but you
must use "dexit" where you otherwise use "exit" and at the end of
"main" for this to work. You must also use "dmalloc" for "alloc", and
"dfree" for "free".)

It will report several other sources of memory allocation errors; try
it out or see the source for details.

Suggestions for further services welcomed... but I reserve the right
to dispose of them in any way.

In the early stages of development of this monitor, you must link with
dyndebug.o. This will change; any suggestions?

To expand: save this message in a file called
jims-dynamic-alloc-monitor.uu, then do:

     uudecode jims-dynamic-alloc-monitor.uu

Doing the above will create a file called
jims-dynamic-alloc-monitor-VERSION.tar.gz

Extract this file by typing:

     tar xfz jims-dynamic-alloc-monitor-VERSION.tar.gz

This will produce a directory called jims-dynamic-alloc-monitor, with
all the files of this distribution inside

--- cut here ---
begin 644 jims-dynamic-alloc-monitor-1.0.0.tar.gz
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
6L1F;L1F;L1F;\5<?_P74-[>:`%``````
`
end


Reply to: