Dec 122017
Adds debugging information to TP TPU files that were linked with external obj files.
File FULLDB.ZIP from The Programmer’s Corner in
Category Pascal Source Code
Adds debugging information to TP TPU files that were linked with external obj files.
File Name File Size Zip Size Zip Type
DEMO.PAS 567 335 deflated
FULLDB.DOC 4691 2083 deflated
FULLDB.EXE 16320 8447 deflated
PARSE.ASM 2405 725 deflated
PARSE.OBJ 554 448 deflated
PARSE.PAS 481 270 deflated
PARSE.TPU 752 331 deflated

Download File FULLDB.ZIP Here

Contents of the FULLDB.DOC file

FULLDB version 1.3 - Add .OBJ line number information to Turbo Pascal .TPU.
Works with TP 5.5, TP 6.0, or TPW 1.0!

Copyright (c) D.J. Murdoch, 1991

Syntax: FULLDB tpuname[.TPU] [/Oobjpath]

reads the given .TPU file, and attempts to add line number information
from all externally linked .OBJ files.

/Oobjpath: Search objpath for .OBJ files if they're not in the current

This option may be kept in the TPC.CFG file, if that file is on the
PATH. A command line option will override the TPC.CFG value.


Turbo Pascal versions 4.0 and up allow you to link external .OBJ files
written in other languages. Usually these are written in assembler,
since the requirements of the TP linker are very strict.
Unfortunately, all debugging information is lost, which makes it very
hard to get the assembler code right.

FULLDB fixes this for TP 5.5 and 6.0, and TPW 1.0. If you can get your
external assembler/compiler to include standard line number
information in the .OBJ files, FULLDB will copy this into your .TPU
file. This will enable you to single step through your external code
while in the TURBO IDE or in Turbo Debugger.


The following demonstration files are included in this package. I've
already done the first few steps in TP 6.0; skip right to compiling
DEMO.PAS if you're using that version.

Assemble PARSE.ASM with included debug information:


Compile PARSE.PAS, which links in PARSE.OBJ:


(Or use the TURBO.EXE IDE to compile it. It's doesn't matter if you
include debug information for the Pascal part of the unit.)

Add the PARSE.OBJ line number information to .TPU:


Now compile the DEMO program:


and you'll be able to single step right into PARSE.ASM, in either
Turbo Debugger or the IDE.


The record in the .TPU file giving the name of the .OBJ file doesn't
include date & time information. If the file it finds isn't the same
one you linked into your .TPU, you're likely to get garbage line
numbers. FULLDB will have no way to check on this.

FULLDB can't read full debug information from the .OBJ file. Only
line numbers are used, so local symbols won't be available to the
debugger. Note that the TP 6.0 IDE has a Registers window available
using the R command.

The lack of local symbols is something I'm working on; if you register
this copy (see below), you may get the full debug version in the mail.
This effort would be greatly sped up if someone could point me to
documentation of the debug info formats in .OBJ files; I already know
how to add it to the .TPU file once I can read it.


1.3 - Added search of TPC.CFG, and demonstration code

1.2 - Added /O option

1.1 - Fixed bug with large .ASM files

1.0 - First version


FULLDB is not public domain. It contains code whose copyright belongs
to D.J. Murdoch, as well as library code from Borland International
and TurboPower Software.

You are free to use FULLDB without charge for one month. If you keep
it beyond that time, you must register it by sending $20 (Canadian or
U.S. dollars) to me at the address below. Mention your version
number; one update will be sent to you when available. I'll also put
a collection of other freeware and shareware programming utilities on
the same disk. (If you like, you can forgo the free update and
request the disk of other utilities immediately.)

You may distribute FULLDB unmodified, together with this documentation
file, provided that you charge no more than distribution costs, and on
no account more than $10 per copy.

Source code:

Source code to FULLDB is available to registered users at a cost of
$20 (Canadian or U.S. dollars). Send your payment to me at the
address below. You can register it and obtain source code at the same
time for $35 (Canadian or U.S.).


There is no warranty of any kind with this program. But it's
shareware - if it doesn't do what you want, throw it away. I can't
accept responsibility for any damage that bugs in it may cause. If
you find any, please send reports to me (Duncan Murdoch) at one of the
following addresses:

DJ Murdoch at Fidonet node 1:221/177.40
[email protected] on Internet
71631,122 on Compuserve

79 John St. W
Waterloo, Ontario, Canada
N2L 1B7

 December 12, 2017  Add comments

Leave a Reply