Contents of the BBUGDEMO.DOC file
BBUG DEMO NOTES
bBUG and its accompanying documentation are original
intellectual works protected under the copyright laws
and conventions of various jurisdictions. In general,
the copyright holder is entitled to certain property
rights with respect to copying and payment for use.
The copyright holder reserves all rights under the
applicable governing legislation and common law practice.
Access Technology Corporation
bBUG is a task specific memory resident monitor/debugger
targeted to the needs of software developers using the
popular Btrieve file manager.
During the development cycle bBUG allows the programmer
to monitor file manager operations and his program's
interface to the manager. Complete transparency and
language independence is maintained. No special
procedures or coding are required on the part of the
programmer. The finished program is identical to the
program under development.
In the default operating mode, every call to the file
manager will cause the main debugger screen to pop up.
The display has been designed with the information needs
of the programmer in mind. Variables, keys, pointers,
statistics, file manager calls, operating system calls,
filenames and error conditions are displayed on a screen
that has been carefully engineered for clarity. Function
calls, system calls, file handles, file locks and error
status have plain language messages included alongside
the numerical information. Keys are displayed in ascii
and numerical formats.
In contrast to general purpose debuggers, there is no
tedious and time consuming setup needed to enable tracing
and breakpoints. The task specific nature of bBUG has
allowed the most useful display to be implemented as the
standard runtime display.
Programmers using bBUG will experience significant
increases in productivity. Complete and immediate feedback
on every file system call is available without the additional
work imposed by resorting to embedded print statements or
general purpose debuggers. Logic errors are quickly
detected and isolated without the usual guesswork inherent
in traditional methods. Because bBUG works automatically,
the programmer need not make any decisions regarding the
worth of inserting debugging statements in his program code
that may or may not be close to the logic error.
bBUG is compatible with both single user and multi-user
versions of Btrieve. All products and compilers using
Btrieve are supported.
Most software debuggers may be run in parallel with bBUG
to allow the developer to examine his own code with the
debugger, while using bBUG to monitor function calls to
Dual monitor mode is supported, with bBUG using the
monochrome display and the user program using a
bBUG operates in 80 by 25 text mode. Video system
detection is automatically performed on initialisation.
INSTALLATION & OPERATION
Testing is greatly simplified if the loading of Btrieve
and bBUG is done in a batch file that is invoked at the
beginning of a working session, since both are memory
resident and need only be run once until the machine is
reset or turned off.
Start bBUG by using the command BBUG immediately after
loading Btrieve. If Btrieve has not yet been loaded an
error message will be returned, and the load request ignored.
bBUG only needs to be loaded once. Additional attempts
to load the debugger will be safely ignored.
bBUG will return a message indicating its load status.
Once it has been successfully loaded, bBUG will remain
quietly in the background until activated by a call to
the file manager. The user can proceed in the normal
fashion as if it were not there at all.
The program under development may be run from the DOS
prompt, with the aid of a debugger of your choosing,
or from an integrated environment, anytime after bBUG
has been loaded. During its operation, all calls to
Btrieve will be performed normally and transparently,
at full speed. After the call has been performed, the
debugger screen will pop up and replace the user screen.
DEBUGGER SCREEN INTERPRETATION
The following information is found on the main BBUG
screen when it is displayed:
FILE NUMBER and NAME
STATUS CODE and MESSAGE
DOS FUNCTION CALL NUMBER AND NAME
COUNTER - TOTAL
COUNTER - FILE
DATA BUFFER POINTER
FILE RECORD POINTER
FILE CONTROL BLOCK POINTER
KEY BUFFER POINTER
DEBUGGER KEYBOARD RESPONSES
Keyboard commands available are:
space:continue program execution
alt-U:display user screen
alt-T:switch to trace control screen
alt-R:reset internal tables for new session
PrtSc:print the displayed screen (user or debugger)
depending on the use of screen commands
PgUpdisplay previous dos operations page
PgDndisplay next dos operations page
TRACE CONTROL SCREEN
The trace control screen is accessed from the debugger
screen by pressing alt-T. This option is normally used
for modifying the default watch point setup. It may also
be used to access the first 20 file names currently in use.
The file number and name is displayed on the top line, the
next line contains the operation number and description.
Legal operations and the first 20 files to be opened
under Btrieve are represented by a rectangular grid of
marks. Each mark represents an operation as applied to
each file. Each row corresponds to one file.
Movement around the grid is accomplished by using the
cursor keys. The current position is highlighted by a
reverse video cursor block. As you move, the file and
operation information lines at the top of the screen
will change in response to your movements.
The spacebar toggles the mark at the cursor. If the
mark is off, the debugger will allow that operation
to be performed during program execution without
popping up the debugger screen. This allows the
developer to bypass those operations that are known to
be performing correctly. The startup default is to
trace on every call.
The shifted cursor keys will copy a row or column to the
next row or column. The entire row or column at the
destination is highlighted in reverse video to show your
progress. Pressing any other key will restore the screen
to its normal appearance.
The ESC key is used to exit the trace control screen back
to the debugger screen.
bBUG is a memory resident program. No provision has been
made for removal or deactivation, as in normal practice
it is integral to the development environment. It can
only be removed from memory by a re-boot.