home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / szadb21b / source / doc / lpr / differ.doc next >
Text File  |  1991-07-07  |  4KB  |  94 lines

  1.  
  2.     Sozobon ADB
  3.     Debugger for Sozobon C on the Atari ST
  4.     Authors: Johann Ruegg and Don Dugger
  5.     This document modified for version 1.3(mj+ach)
  6.     created by Anthony Howe and Michal Jaegermann
  7.  
  8. Introduction
  9. ------------
  10.  
  11. This debugger is designed to be used with the Sozobon C compiler.  It
  12. also can be used with other compilers which can produce symbol tables
  13. either in an Alcyon format (Alcyon, gcc after small modifications) or
  14. MWC format (Mark Williams C).  It is modeled after the 'adb' command
  15. on UNIX systems.  Thus it is a machine language debugger - not a
  16. source level debugger.  Version 1.3 also supports "GST format", with
  17. symbols up to 22 characters long, which is optionally produced by
  18. a new version of gcc linker (-G flag).
  19.  
  20.  
  21. Differences verses the UNIX adb
  22. -------------------------------
  23.  
  24. 1) Szadb can only be used to control a running process - it cannot be
  25. used to look at executables or core files.  Therefore '/' and '?'
  26. commands both refer to memory.  The usage for szadb is
  27.     szadb [options] exec-file [command line for exec-file]
  28.  
  29. Options are described in 'szadb.doc' writeup.  The 'exec-file' is
  30. Pexec'ed immediately.  When using Sozobon C compile with the '-t' flag
  31. to get symbols in the 'exec-file'.  Consult your documentation how to
  32. get a similar result for other compilers.  Symbols are adjusted to
  33. reflect the relocation of the program.
  34.  
  35. 2) Expressions handled by szadb are a little simpler
  36.     - no floating point numbers
  37.     - '+', '^' and '"' are not valid values
  38.     - variables within routines are not understood
  39.     - the unary operand '*' fetches 4 bytes, while '@' fetches
  40.        2 bytes (from memory)
  41.     - the dyadic operator '#' is not supported
  42.  
  43. 3) There is not concept of a map - all addresses refer to memory.
  44. Thus the '*' modifier to '/' and '?' is not used and there is no
  45. '?m' or '/m' command.
  46.  
  47. 4) The following format characters are not supported
  48.     q Q u U f F C Y
  49.  
  50. 5) The '/l' command is missing 
  51.  
  52. 6) There is no shell escape '!' command.
  53.  
  54. 7) The following '$' commands are missing
  55.     $<file $<<file $a $w $v $m
  56.  
  57. 8) These '$' commands are added
  58.     $p - print the process base page
  59.     $k - print definitions of functions keys
  60.     $k<decimal number in range 1 - 20> 
  61.        - execute commands associated with a given function key
  62.  
  63. 9) Request $d does not allow setting of a current radix (number base)
  64.    to any number. You may choose only between octal, decimal and hex
  65.    using $o, $d and $x respectively.
  66.  
  67. 10) The following ':' commands are missing
  68.     :r (use :c instead - if arguments to be passed on to the
  69.         debugged  program were not passed on a command line
  70.         then put them after the first :c)
  71.     :k (exit the debugger and start over instead)
  72.  
  73. 11) The following ':' commands are added
  74.     :n - execute next instruction in the program text, do
  75.          not descend to subroutines
  76.     :j - jump over the next intruction if a branch and stop
  77.          afterwards; if not branch then exquivalent to :n
  78.     :f - finish executing instructions in the current subroutine
  79.          and stop after return to a caller.
  80.  
  81. 12) All breakpoints and stepping commands may have associated command
  82.     lines.  There are special form commands ::b, ::s, ::n, ::f
  83.     which turn execution of these stored lines off and on.
  84.  
  85. 13) There is only a fixed set of four read-only internal variables
  86.  
  87. 14) Szadb uses its own window so as not to interfere with the program
  88. being debugged.  Use cntl-w to view the program's window.  Type any
  89. character to switch back.
  90.  
  91. 15) Online help is available if szadb was compiled in that way.
  92. Use -DHELP in your makefile if you want this feature.
  93. Help is called by the 'Help' key.
  94.