Re: Debugging support in Eclipse?
Dominique Boucher <[email protected]>
| Newsgroups | gmane.comp.java.sisc.user |
|---|---|
| Message-ID | <[email protected]> |
Matthias Radestock wrote: > It is possible to implement something like this, but it is quite a lot > of work and there are some serious conceptual difficulties due to tail > calls. > > > We do get fairly reasonable stack traces these days, if one is running > with maxStackTraceDepth set to a non-zero value. However, I doubt the > stack traces fit Eclipse's notion of a stack trace - they are > "compressed" in order to deal with tail calls. We could of course > unfold them but then they can become very long indeed; just think of a > tail recursive loop over a 1000 element long list. > My intent was not to use the standard Eclipse debugging facilities. > The first extension of this would be to keep track of the call > parameters. The difficulties with that are that it prevents stack trace > compression since the args in tail-recursive loop will typically differ > from call to call. It also breaks safe-for-space-ness. > I am well aware of this problem. > Keeping track of the lexical params suffers from similar problems. Plus > we'd need to keep track of some kind of param -> name mapping, since > all lexical params are kept in flattened arrays. > That's what I suspected. My intent was to be as non-intrusive as possible. If SISC's internal need to be modified to do that, then I'll have to think about an alternate strategy. Consider the following strategy: 1. You insert a statement of the form "(breakpoint var1 var2 ...)" in you code. 2. When execution reaches the statements in 1., execution halts and the variables with their values are displayed in an Eclipse view. I.e. a very simple inspector. 3. When the "Continue" button is hit, execution resumes pas the "breakpoint" statement. Of course, "(breakpoint var1 var2 ...)" needs to be macro to operate properly. This is clearly a very naive and basic strategy. But would that be of any help? Of course, this is something that can be done using simple trace functions, but without the ability to inspect the content of complex objects. Thanks for your help! Dominique ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642