[plt-scheme] Debugger: How much work to implement?

From: ifconfig nslookup (configurator at gmail.com)
Date: Thu Oct 7 12:10:31 EDT 2004

On Wed, 6 Oct 2004 13:23:57 -0400, John Clements
<clements at brinckerhoff.org> wrote:
> 
> On Oct 6, 2004, at 1:10 PM, Eric Kidd wrote:
> 
> > Thank you for your information!
> >
> > On Thu, 23 Sep 2004 11:38:22 -0400, John Clements
> > <clements at brinckerhoff.org> wrote:
> >> Two of these are tricky in the current mzscheme framework:
> >> single-stepping (without destroying performance), and evaluation of an
> >> expression in a given source location's scope. Neither is impossible.
> >
> > Hmm.  I'd be interested in hearing a little about these issues.  It
> > might be tolerable to destroy performance if that's the only way to
> > solve the problem in a reasonable amount of time--we're not
> > constrained by Scheme performance at all, so a further decrease might
> > be only semi-noticable.
> 
> Let me clarify: the problem is not that performance would suffer while
> single-stepping: as you point out, performance doesn't matter at that
> point.  The problem is that the performance of the target program would
> suffer (probably seriously) even when not in single-stepping mode.

A simple (maybe not programmatically simple, but logically simple)
solution exists for that problem: Create two Execute buttons, one with
single-stepping enabled and one that can't single-step but runs much
faster.

ifconfig.

> 
> I'm not saying this problem can't be solved.  I'm just saying that the
> naive solution would probably not be tolerably efficient.
> 
> >> The rest is supported by the debugger back-end which is freely
> >> available--though not what you might call "polished", or even really
> >> "finished"--this is also the back-end used by mztake.
> >
> > Is there documention for this, or should I read the source?
> 
> You might be interested in this paper:
> 
> http://www.ccs.neu.edu/scheme/pubs/index.html#esop2001-cff
> 
> ... which covers the basic idea of annotating a source program into one
> which tracks its own information using continuation-marks.
> 
> Beyond this, you should examine the MzTake system, and its accompanying
> documentation.
> 
> 
> 
> >> You should also be aware of the "errortrace" library, which provides
> >> only source positions but is useful for many debugging tasks.
> >
> > I'll have a look.  Thanks!
> >
> > -Eric
> 
> 
>


Posted on the users mailing list.