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

From: John Clements (clements at brinckerhoff.org)
Date: Wed Oct 6 13:23:57 EDT 2004

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.

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:


... 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 

>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2169 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20041006/5445295a/attachment.p7s>

Posted on the users mailing list.