Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Thu, 24 Jul 2003
Timewarp debugging
Kim Burchett posted on simplifying debugging. There are a couple of good points in the post:
[01:04] |
[computers/programming] |
# |
TB |
F |
G |
2 Comments |
- The presence of state makes debugging a pain. This arguest for a more functional approach to programing wherever possible.
- Something like a timewarp or replay debugger that captured the state of the program at every state transition could help with these problems. In languages that reify activation records (as closures or continuations), this should not be that difficult to do, albeit hugely expensive in memory.
I'd like to be able to set a breakpoint that's conditional on another method being executed. For example, I'd like to stop in the startMakingElement method, but only when the testZ method has been called. I don't want to stop in startMakingElement for testA through testYis just icing on the cake. Seems like debugger folks have a lot of work to do. At least until James Robertson posts and tells us that all of this can be done in VisualWorks ;-). In the meantime, the IntelliJ and Eclipse folks should get busy.
Ted Leung points out a C developer who wants better debugging:
- The presence of state makes debugging a pain. This arguest for a more functional approach to programing wherever possible
- Something like a timewarp or replay debugger that captured the state of the program at every state transition could help with these problems. In languages that reify activation records (as closures or continuations), this should not be that difficult to do, albeit hugely expensive in memory.
hmm. We have this in languages like Lisp and Smalltalk (as alluded to above). Maybe the Kim needs better tools. And yes Ted, the
Posted by Trackback from Cincom Smalltalk Blog - Smalltalk with Rants at Thu Jul 24 04:52:47 2003
It's been a while since I've done serious C/C++ development, but MS Visual Studio 6 had pretty extensive edit/continue functionality. VS.NET is a pretty big step backwards in that respect. All the recent versions of VS have pretty good support for moving the instruction pointer as well, though just providing support for picking up execution using the current state, not necessarily what Kim asks for. I need to learn Lisp's debug facilities better, I'm just getting the hang of trace and Allegro will give you a sometimes overwhelming list of choices when it hits a problem in execution.
Posted by Gordon Weakliem at Thu Jul 24 09:42:37 2003
Posted by Gordon Weakliem at Thu Jul 24 09:42:37 2003
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk