public
Description: Debugger for zsh (at least 4.3.6-dev-2)
Homepage:
Clone URL: git://github.com/rocky/zshdb.git
Rocky Bernstein (VCDImager Developer) (author)
Fri Dec 18 14:44:28 -0800 2009
commit  417ee0a3cd5392cfcd41f9d109af4f3ef49e2b9b
tree    6130e69df1202e43f74193930a104fa8e438f3b1
parent  94cea23c24ec49a76544ff7271e54e1e6e327909
zshdb /
name age message
file .gitignore Mon Nov 17 00:14:37 -0800 2008 Administrivia [rocky]
file AUTHORS Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [rocky]
file ChangeLog Fri Oct 23 10:12:01 -0700 2009 Get ready for release [rocky]
file Makefile.am Mon Jun 22 08:14:57 -0700 2009 Start adding doc. In particular start with a ma... [rocky]
file NEWS Fri Oct 23 10:26:44 -0700 2009 NEWS preening [rocky]
file README Fri Jun 19 06:21:19 -0700 2009 Revise as appropriate [rocky]
file THANKS Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [rocky]
file acinclude.m4 Thu Aug 14 08:31:42 -0700 2008 More zsh and ksh compatible. [rocky]
file autogen.sh Fri Dec 18 14:44:28 -0800 2009 Solairis configuration fixes [Rocky Bernstein (VCDImager Developer)]
directory command/ Thu Sep 24 16:21:58 -0700 2009 Misplaced quotes. [rocky]
file configure.ac Fri Oct 23 10:12:01 -0700 2009 Get ready for release [rocky]
file dbg-main.sh Fri Oct 23 07:54:41 -0700 2009 dbg-main.sh: Change another debugger variable t... [rocky]
file dbg-opts.sh Fri Aug 21 14:19:35 -0700 2009 Small changes to dbg-opts to Keep in sync with ... [rocky]
file dbg-pre.sh Sun Sep 20 18:06:50 -0700 2009 Better tolerance for files with embedded blanks... [rocky]
file dbg-trace.sh.in Fri Sep 26 11:25:48 -0700 2008 Don't run Emacs testing if no Emacs (Clint Adam... [rocky]
directory doc/ Mon Jun 22 09:22:30 -0700 2009 Small doc changes. [rocky]
directory emacs/ Fri Oct 23 07:54:41 -0700 2009 dbg-main.sh: Change another debugger variable t... [rocky]
file getopts_long.sh Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [rocky]
directory lib/ Mon Sep 21 14:54:43 -0700 2009 Handling of files with embedded blanks works be... [rocky]
directory test/ Fri Dec 18 14:44:28 -0800 2009 Solairis configuration fixes [Rocky Bernstein (VCDImager Developer)]
file testing.sh Fri Sep 05 18:44:41 -0700 2008 Use ZSH subshell in journaling and the prompt d... [rocky]
file zshdb.in Sun Sep 20 18:06:50 -0700 2009 Better tolerance for files with embedded blanks... [rocky]
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 bug fixes and of debugging
support features that are neither part of the POSIX 1003.1 standard
and are not in current "stable" zsh releases. In particular, the
"functrace" function should always report filenames and absolute line
numbers.  Also both "functrace" and "funcstack" should include
source'd files in their arrays.

1. SETUP

To get the code, install git and run in a zsh shell:

  git-clone git://github.com/rocky/zshdb.git
  cd zshdb
  ./autogen.sh  # Add configure options. See ./configure --help 

If you've got a suitable zsh installed, then
  make && make test

To try on a real program such as perhaps /etc/zsh/zshrc:
  ./zshdb /etc/zsh/zshrc # substitute .../zshrc with your favorite zsh script

If you are happy and "make test" above worked, install via:
  sudo make install

and uninstall with 
  sudo make uninstall # ;-)

See INSTALL for generic configure installation instructions.

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

What's missing falls into a two categories:

  * Stuff that can be ported in a straightforward way from bashdb
  * Stuff that needs additional zsh 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 zsh 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

3.a) Showing frame arguments

This can done with or without support from zsh, albeit faster with
help from zsh. Changing scope when changing frames however has to be
done with zsh support.

3.b) Setting $0

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

  display expressions, signal handling, 
  debugger commands:
     debug
     condition
     file
     handle
     history
     pwd
     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 ZSH

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