home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
program
/
tostrace
/
tostrace.doc
< prev
next >
Wrap
Text File
|
1989-12-12
|
3KB
|
59 lines
TOS TRACE TOOL - A shareware TOS system call trace program
by Leo de Wit
TOS TRACE TOOL is a tool intended for ST hackers/programmers
to be able to trace (some of) the ST system calls. It catches
the GEM/GEMDOS/BIOS/XBIOS/LineA exceptions to do so (only GEMDOS
and the traps that are/have been traced, are intercepted). Of
course you can use a debugger to do the same, but I doubt it is
as easy to use.
The trace output is presented on a separate screen, to which
you can switch back and forth using the Control-Enter key. This
output consists of the function called, with its arguments
displayed in hex. Some arguments, like the pathname in GEMDOS
Fopen(), is displayed as an ASCII string. The VDI functions are
'translated to C-usage', that is: VDI (and AES) is presented as
if the functions were system calls (though they really are
library function bindings to a lower level interface).
Output variables are marked accordingly (==>), but their
value is not given; some functions can take indefinitely to
finish (e.g. Pexec()), and it would also require to trap the
calls on exit as well (they're now trapped on entrance only).
(If this is a must, or alternatively the function's return
value is needed, I will look into that).
The trace screen is not scrolled, but wrapped to the top;
this is less tiresome for the eyes to follow. The last function
that was traced is the one above the empty line(s).
So far all is being handled by the TOSTRACE.PRG TSR
program. The en-/disabling of specific functions is performed
by the SETTRACE.PRG program. It is possible to install
TOSTRACE.PRG by hand (or in your \AUTO folder), but SETTRACE.PRG
will install it if it isn't already present. One drawback:
SETTRACE.PRG currently looks only in the current directory for
a copy of TOSTRACE.PRG.
You can select one of the 'system call classes', as
represented in the middle upper block of the SETTRACE form;
the functions belonging to that class will be displayed with
their current trace status (tracing is marked with a 'check'
symbol). VDI has been split in two; there are so many of those.
Clicking on them toggles the trace status; note it is
only really set/reset when you switch to a different class or
exit, and you confirm the 'save' question. Clicking on Set
resp. Clear sets resp. clears all trace settings of the current
system call class.
A lot of functions have been tested (traced), but there
will probably remain a lot of untested ones (or tested under
different conditions). I'm always willing to implement
reasonable suggestions for improvement, if I can find the
time, and feel like it (hey, this is a hobby :-).
Enjoy!
Leo.