home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
szadb21b
/
source
/
doc
/
lpr
/
differ.doc
next >
Wrap
Text File
|
1991-07-07
|
4KB
|
94 lines
Sozobon ADB
Debugger for Sozobon C on the Atari ST
Authors: Johann Ruegg and Don Dugger
This document modified for version 1.3(mj+ach)
created by Anthony Howe and Michal Jaegermann
Introduction
------------
This debugger is designed to be used with the Sozobon C compiler. It
also can be used with other compilers which can produce symbol tables
either in an Alcyon format (Alcyon, gcc after small modifications) or
MWC format (Mark Williams C). It is modeled after the 'adb' command
on UNIX systems. Thus it is a machine language debugger - not a
source level debugger. Version 1.3 also supports "GST format", with
symbols up to 22 characters long, which is optionally produced by
a new version of gcc linker (-G flag).
Differences verses the UNIX adb
-------------------------------
1) Szadb can only be used to control a running process - it cannot be
used to look at executables or core files. Therefore '/' and '?'
commands both refer to memory. The usage for szadb is
szadb [options] exec-file [command line for exec-file]
Options are described in 'szadb.doc' writeup. The 'exec-file' is
Pexec'ed immediately. When using Sozobon C compile with the '-t' flag
to get symbols in the 'exec-file'. Consult your documentation how to
get a similar result for other compilers. Symbols are adjusted to
reflect the relocation of the program.
2) Expressions handled by szadb are a little simpler
- no floating point numbers
- '+', '^' and '"' are not valid values
- variables within routines are not understood
- the unary operand '*' fetches 4 bytes, while '@' fetches
2 bytes (from memory)
- the dyadic operator '#' is not supported
3) There is not concept of a map - all addresses refer to memory.
Thus the '*' modifier to '/' and '?' is not used and there is no
'?m' or '/m' command.
4) The following format characters are not supported
q Q u U f F C Y
5) The '/l' command is missing
6) There is no shell escape '!' command.
7) The following '$' commands are missing
$<file $<<file $a $w $v $m
8) These '$' commands are added
$p - print the process base page
$k - print definitions of functions keys
$k<decimal number in range 1 - 20>
- execute commands associated with a given function key
9) Request $d does not allow setting of a current radix (number base)
to any number. You may choose only between octal, decimal and hex
using $o, $d and $x respectively.
10) The following ':' commands are missing
:r (use :c instead - if arguments to be passed on to the
debugged program were not passed on a command line
then put them after the first :c)
:k (exit the debugger and start over instead)
11) The following ':' commands are added
:n - execute next instruction in the program text, do
not descend to subroutines
:j - jump over the next intruction if a branch and stop
afterwards; if not branch then exquivalent to :n
:f - finish executing instructions in the current subroutine
and stop after return to a caller.
12) All breakpoints and stepping commands may have associated command
lines. There are special form commands ::b, ::s, ::n, ::f
which turn execution of these stored lines off and on.
13) There is only a fixed set of four read-only internal variables
14) Szadb uses its own window so as not to interfere with the program
being debugged. Use cntl-w to view the program's window. Type any
character to switch back.
15) Online help is available if szadb was compiled in that way.
Use -DHELP in your makefile if you want this feature.
Help is called by the 'Help' key.