home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Shareware - Software Farm 2
/
wosw_2.zip
/
wosw_2
/
PASCAL
/
HDEBUG.ZIP
/
HDEBUG10.TXT
< prev
next >
Wrap
Text File
|
1991-10-20
|
2KB
|
54 lines
HDEBUG.DOC
Documentation for HDEBUG.PAS
(C) Copyright 1991, Brian D. Webb & P-Machinery
Release 1.0, October 20, 1991
These routines are just a stripped down version of a heap debugging package
that I'm working on. HEAP.TPU contains routines to intercept EVERY call to
TP6's heap routines New(),Dispose(),GetMem(), and FreeMem(), including the
new extended syntax for New() and Dispose(). Since the heart of these
routines is the heap interceptor, I thought I'd send it out for a little
beta testing while I iron out the bugs in the rest of the package.
These routines work for the IDE, Turbo Debugger, and standalone EXE files.
To intercept the heap routines, the variables HEAP.Allocation_Handler and
HEAP.Deallocation_Handler need to contain the addresses of far routines of
type Handler, which is:
type
Handler = Procedure(Size : Word; BlockAddr,CallAddr : Pointer);
The interceptor will pass along the size of the memory block, its address,
and the address of the calling routine to the handler for error checking.
The unit HDEBUG10.PAS contains a generic handler which can flag the user
whenever a potential fatal heap error has occured without exiting the
debugging session.
The unit MAPINFO.PAS allows HDEBUG10.PAS to determine the unit and line
number of the error.
To use:
Include the units (Heap,HDebug10,MapInfo) in your uses clause.
In your main program, be sure to set MapFileName to the path name of the
map file. Also, be sure to compile to disk and generate a detailed map
file.
To activate the heap interceptor, call the procedure HeapOn.
To deactivate, call HeapOff.
Please forward comments and criticisms to:
Brian D. Webb
76436,1131
If you need help really bad, give me a call at 713-427-0071