From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9639 invoked from network); 25 Sep 2008 16:25:35 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 25 Sep 2008 16:25:35 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 76133 invoked from network); 25 Sep 2008 16:25:31 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 25 Sep 2008 16:25:31 -0000 Received: (qmail 29618 invoked by alias); 25 Sep 2008 16:25:24 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25749 Received: (qmail 29607 invoked from network); 25 Sep 2008 16:25:24 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 25 Sep 2008 16:25:24 -0000 Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.172]) by bifrost.dotsrc.org (Postfix) with ESMTP id A897E80307AB for ; Thu, 25 Sep 2008 18:25:19 +0200 (CEST) Received: by wf-out-1314.google.com with SMTP id 29so619572wff.3 for ; Thu, 25 Sep 2008 09:25:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=sccHI/YPWLFq+GGRHAVZiGGL7VdvF8XiSom8tie0mhg=; b=s+98apC3Ga8OD1XVXPY4HoxfC6AwhrmqTwl+J2RK4DOfDgPKDWcDf7vTWFojknk0aR 33dWSdAlYM6jd0Plo18OnZLVoW0MvQwg5ZWlyQLsoN/FWwqJtSt0yfGmK/8w6mvnsMgn xVjX65KMj07hZrLg68c9+sec29NJwkT9HBSbY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=G9E9wLkrQ6Ia708sXO9ePio5HL3yRDLzCRCOsyBkCwT0p4Kly49rG2r4mNSaVRKakO BLLb3YSP1HzmsqkwXMTLShAfw30hgcN4oA0UOcgD6SeQUkEAn5rH+f7oewtUSeFF8ie/ nSOaM9l2xxJ6xCLFglqJW5lnXeCJx1mztUVmQ= Received: by 10.114.155.1 with SMTP id c1mr9697547wae.24.1222359918273; Thu, 25 Sep 2008 09:25:18 -0700 (PDT) Received: by 10.114.159.2 with HTTP; Thu, 25 Sep 2008 09:25:18 -0700 (PDT) Message-ID: <6cd6de210809250925m560d28d2o58e95e695d63374f@mail.gmail.com> Date: Thu, 25 Sep 2008 12:25:18 -0400 From: "Rocky Bernstein" To: "Zsh hackers list" Subject: zshdb ready for stalwart hackers MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Scanned: ClamAV 0.92.1/8336/Thu Sep 25 17:39:47 2008 on bifrost X-Virus-Status: Clean I think zshdb is good enough for stalwart hackers to get an initial feel for it. To try out git-clone git://github.com/rocky/zshdb.git cd zshdb ./configure # possibly --with-zsh=/location/of/cvs/zsh make && make test sudo make install # if happy with the above But to play the game you really do need a recent version of zsh. That is, from CVS - recall that there was a patch recently to make fc work when not interactive (and funcfiletrace addition, line number corrections, exec status code bug fix, etc.) What's there is a little frail. These are some of the issues any debugger (especially one written in zsh) has to deal with: setting emulation modes and zsh options, and built-in variables like IFS redirecting input/ouput and/or dev/nulling it using dynamic variables like $? running inside a subshell or nested shell. zshdb does try to deal with all of this, but it has gaps which will take time to work out. Sometimes when zshdb runs into an error, the debugged program just continues running to the end. As before, a number of features that are in bashdb and the other gdb-like debuggers I've worked on are not there yet. These include conditions on breakpoints, display statements, logging options, and a gdb "return" statement (but here I think I'm waiting on support inside zsh). But that said, I've been able to use it without total disaster on large configure files and start/stop scripts that source other files, and scripts that have redirections in them and so on. If past experience is a guide, folks will come up with lots of features they'd like to see. It's all zsh code, so feel free to jump in add add what you want. :-) As before an overall guide or document is lacking. If you are familiar with gdb or any of the gdb-like debuggers I've worked on (bashdb, pydb, ruby-debug, remake), this is like that. Probably closest of course to bashdb with a little bit of a face lift. Share and enjoy!