This is a port and my bash
debugger, bashdb, and
zsh
debugger, zshdb.
The command syntax generally follows that of the GNU debugger gdb
.
However this debugger depends on a number of bug fixes and of debugging
support features that are neither part of the POSIX 1003.1 standard
and only in later ksh93v- releases. In particular, there are fixes to a
number of the .sh
variables like .sh.level
and .sh.file
, and
fixes to for handling IO redirection.
To see if there is recent-enough version for your favorite distirbution, see the repology.org list.
Source code to later ksh releases can be found in the github att/ast repository.
See the wiki for how to install this code.
There is extensive command documentation inside the debugger itself.
However see the wiki and documentation for more information on this debugger.
What's missing falls into two categories:
- Stuff that might be ported in a straightforward way from
bashdb
orzshdb
- Stuff that needs additional
ksh
support
This can be done with or without support from ksh
, albeit faster with
help from ksh
.
- Setting
$0
- lots of other stuff including...
- display expressions, signal handling,
- command completion
- debugger commands:
- file - sets file name for the current source
- handle - specify debugger signal handling
- history - rerun a debugger command from its history
- signal - send a signal to the process
- tty - set output device for debugger output
- watch - Set or clear a watch expression.
None of this is rocket science; most of it should be pretty straight-forward to add.
I use a project's ratings to help be determine the priority I should give to it. You'll see that this project's rating is far behind zshdb's
- command completion
- stopping points that are valid for a
breakpoint
command