Korn Shell (93t 2008-10-22 or greater) Debugger
Shell Perl Python
Latest commit 9a2d507 Dec 28, 2014 @rocky ksh history file is distinct from bash history. Set HISTSIZE in testi…
…ng for more predictable results.
Failed to load latest commit information.
command ksh history file is distinct from bash history. Set HISTSIZE in testi… Dec 28, 2014
data Add debugger command "shell" to go into a nested shell Mar 13, 2011
doc Perhaps a better clean target Feb 12, 2010
emacs Remove emacs code. lib/display.sh; initializaiton typo. Apr 4, 2013
init Add --no-highlight option. Remove some array and Assoc array initiali… Dec 28, 2014
lib ksh history file is distinct from bash history. Set HISTSIZE in testi… Dec 28, 2014
test ksh history file is distinct from bash history. Set HISTSIZE in testi… Dec 28, 2014
.gitignore break.sh: use functions for better localization Jun 10, 2009
AUTHORS Start to sync with bashdb and zshdb Mar 2, 2011
COPYING Zero origin frame handling Aug 21, 2008
INSTALL Customize for this program. Aug 19, 2010
Makefile.am Makefile.am - add comment to make like the others Jan 2, 2012
NEWS Messed up on release date May 18, 2011
README Grammar fix found originally by Erkan Yilma in zshdb. Mar 9, 2012
THANKS Start to sync with bashdb and zshdb Mar 3, 2011
acinclude.m4 Add print and eval. Parse -L and --library in kshdb. Aug 14, 2008
autogen.sh "info program" now shows the next command to be executed. Jul 30, 2010
configure.ac Tests now work for version 93u+ 2012-08-01 Jun 3, 2013
dbg-main.sh Create init directory of stuff that has to come before loading lib. P… May 6, 2011
dbg-trace.sh.in configure.ac: up minimum ksh version we require. fns.sh: use regexp i… Mar 15, 2011
getopt-test.sh Add options processing. KSH_PROG->SH_PROG. Aug 16, 2008
getopts_long.sh Use getopt_long from Stéphane Chazelas. Thanks Stéphane! Sep 29, 2008
kshdb.in Clean up before a kill -9. And some code clean ups. Mar 27, 2011
testing.sh Add gdb's print location. Move more of the zshdb code over. Aug 10, 2008

README

0. INTRODUCTION
This is a port and cleanup of my bash debugger bashdb
(http://bashdb.sf.net). 

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 ksh93t+ releases. In particular, there are fixes to a
number of the .sh variables like .sh.level and .sh.file.

1. SETUP

See https://github.com/rocky/kshdb/wiki/How-to-install for how to install this code. 

2. WHAT'S HERE, WHAT'S NOT and WHY NOT

What's missing falls into two categories:

  * Stuff that can be ported in a straightforward way from bashdb
  * Stuff that needs additional ksh support

Of the things which can be ported in a straight-forward way, however
some of them I want to revise and simplify. In some cases, the fact
that ksh has associative arrays simplifies code. On other cases, the
code I wrote needs refactoring and better modularization.

Writing documentation is important, but an extensive guide will have
to wait. For now one can consult the reference guide that comes with
bashdb: http://bashdb.sf.net/bashdb.html There is some minimal help to
get a list of commands and some help for each.

3. WHAT'S NOT HERE YET IN DETAIL

This can be done with or without support from ksh, albeit faster with
help from ksh.

3.a) Setting $0

3.b) lots of other stuff including...

  display expressions, signal handling, 
  debugger commands:
     debug
     file
     handle
     history
     signal
     tty
     watch

  None of this is rocket science. Should be pretty straight-forward to
  add.

4. WHAT MAY NEED MORE WORK AND SUPPORT FROM KSH

4.a) stopping points that can be used for breakpoint