[plt-scheme] Debugger: How much work to implement?
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:
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
-------------- 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>