Re: A History of Variables

  • From: Andreas Stefik <stefika@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Wed, 14 Oct 2009 10:25:42 -0500

le,

Technically, the language our debugger implements is not Java, it's called
"hop." It's basically a research language that I've gone through
meticulously --- long story.

For your question though, you are astute in noticing that handling scope in
such a debugger is painful, to say the least. In short, we have some fancy
techniques for keeping scopes around when we need them and regenerating them
when we don't. Basically, what I mean is: we store special keys related to
any previous scopes. Doing this is a huge memory hog, but that's ok. Memory
is cheap.

And, even if the user didn't want the backwards functionality, the nice
thing about algorithms like this is that they pretty easy to "turn off,"
allowing you to go "partially" backwards, or not at all. It's tricky though,
from a technical standpoint, designing debuggers like this is ...
complicated.

I'll say though, having a backwards debugger has sure been nice when writing
code! Every time I go back to the old stuffy netbeans debugger I wish it had
a back button.

Stefik





On Tue, Oct 13, 2009 at 4:58 PM, qubit <lauraeaves@xxxxxxxxx> wrote:

>  I'm not a java programmer, but how do you intend to handle scope in such
> a debugger? If you have gone out of a block or function, you are no longer
> interested in -- nor can you be sure of the value of -- stack variables in
> that function, as that space can be overwritten by other function calls.  Or
> am I answering my own question?...
> Actually, this might be relevant from a debugging standpoint if someone
> tries to use a pointer to a local -- or is that not supported in java?
> I really should glance over a java tutorial... After C++ I hear it is easy
> to learn, but I never took the time to do it.
> --le
>
>
>
>
> ----- Original Message -----
> *From:* Andreas Stefik <stefika@xxxxxxxxx>
> *To:* programmingblind@xxxxxxxxxxxxx
> *Sent:* Tuesday, October 13, 2009 3:04 PM
> *Subject:* A History of Variables
>
> Hello folks,
>
> My student and I are working on part of our auditory debugger (in Sodbeans)
> related to its ability to "go backwards." Essentially, our debugger allows
> you to see (or hear) any value of any variable that has previously been set
> in the program. We have a number of ideas about how we can structure the
> audio portion of the debugger, but we're curious, if such a feature were
> available to you, how would you like it to work. As such, we pose the
> following question:
>
> Suppose your debugger could execute in reverse and return, in audio, the
> value of any variable that has ever been set in your program. Using only the
> keyboard, how would you like to access such information?
>
> While much of the backend is now implemented, we haven't implemented the
> user interface yet, so any ideas, no matter how wacky, are very welcome.
>
> Stefik
>
>

Other related posts: