github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

rocky / zshdb

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 4
    • 0
  • Source
  • Commits
  • Network (0)
  • Issues (0)
  • Downloads (3)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (2)
    • release-0.04
    • release-0.03
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Debugger for zsh (at least 4.3.6-dev-2) — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Fix bug in running a simple "break" command. 
rocky (author)
Fri Jan 01 21:19:35 -0800 2010
commit  f35a8c5d7a0b87155e5eec6935ba09ee355927e0
tree    1d89b2c92ef627e5a2f1b218ad0fc841a241886b
parent  559279362966278b4976c96184be25f3afe15b2f
zshdb /
name age
history
message
file .gitignore Mon Nov 17 00:14:37 -0800 2008 Administrivia [R. Bernstein]
file AUTHORS Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [R. Bernstein]
file ChangeLog Mon Oct 26 21:12:06 -0700 2009 Get ready for release 0.04. [rocky]
file Makefile.am Mon Jun 22 08:14:57 -0700 2009 Start adding doc. In particular start with a ma... [R. Bernstein]
file NEWS Mon Oct 26 21:12:06 -0700 2009 Get ready for release 0.04. [rocky]
file README Fri Jun 19 06:21:19 -0700 2009 Revise as appropriate [R. Bernstein]
file THANKS Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [R. Bernstein]
file acinclude.m4 Thu Aug 14 08:31:42 -0700 2008 More zsh and ksh compatible. [R. Bernstein]
file autogen.sh Fri Dec 18 14:44:28 -0800 2009 Solairis configuration fixes [Rocky Bernstein (VCDImager Developer)]
directory command/ Fri Jan 01 21:19:35 -0800 2010 Fix bug in running a simple "break" command. [rocky]
file configure.ac Tue Dec 22 04:23:08 -0800 2009 Merge branch 'master' of git@github.com:rocky/z... [rocky]
file dbg-main.sh Fri Oct 23 07:54:41 -0700 2009 dbg-main.sh: Change another debugger variable t... [R. Bernstein]
file dbg-opts.sh Fri Aug 21 14:19:35 -0700 2009 Small changes to dbg-opts to Keep in sync with ... [R. Bernstein]
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... [R. Bernstein]
directory doc/ Mon Jun 22 09:22:30 -0700 2009 Small doc changes. [R. Bernstein]
directory emacs/ Fri Oct 23 07:54:41 -0700 2009 dbg-main.sh: Change another debugger variable t... [R. Bernstein]
file getopts_long.sh Mon Sep 29 19:27:07 -0700 2008 Convert options processing to getopts_long by S... [R. Bernstein]
directory lib/ Mon Sep 21 14:54:43 -0700 2009 Handling of files with embedded blanks works be... [R. Bernstein]
directory test/ Fri Jan 01 21:17:59 -0800 2010 command/break.sh: unnecessary guard test but ke... [rocky]
file testing.sh Fri Sep 05 18:44:41 -0700 2008 Use ZSH subshell in journaling and the prompt d... [R. Bernstein]
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


Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server