At 09:03 AM 2/8/00 -0500, Tibor Janosi wrote:
>
>
>I have just downloaded and installed JDE-2.1.6beta17. I am using Emacs
>20.4.1 on a Solaris machine. I noticed an interesting feature of the debugger:
>
>Suppose that I want to debug the following function:
>
>class test {
> static public void main (String[] args) {
> boolean send;
> if(Integer.parseInt(args[0]) == 1) {
> send = true;
> } else {
> send = false;
> }
> }
>}
>
>If I get to the line with Integer.parseInt and issue the 'step'
>command, then the debugger attempts to execute the code associated
>with parseInt, and gets stuck. I get a sequence of messages like this:
>
>cd /usr/u/janosi/
>jdb test 1
>
>Initializing jdb...
>0xed6c34b8:class(test)
>> Breakpoint set in test.main
>> run test 1
>running ...
>main[1]
>Stopped at line 11 in test.java
>main[1] step
>main[1]
>Breakpoint hit: java.lang.Integer.parseInt (pc 0)Breakpoint hit:
>java.lang.Integer.parseInt (pc 0)Breakpoint hit: java.lang.Integer.parseInt
>(pc 0)
>
>The only way I can recover from this is to issue the 'step up'
>command. I could issue a 'next' command on this line to avoid the
>problem alltogether, but this is not practical in the case of complex
>lines, when system calls are combined with my fucntion calls. For
>example, I would not like to step over a line like this, for example:
>
>MyType newVar = oldVar.functionToDebug(Integer.parseInt("123"));
>
>I have to step in the parseInt code, get a series of repeated error
>messages, issue a 'step up' command, and then another 'step' to
>actually enter the interesting function. I was wondering whether this
>overhead can be avoided or not. Is there any setting or compiler
>option that would allow the debugger to skip these "system" function
>calls?
>
This question has been raised before. There is no way to skip over "system
functions" (what are those anyway?) in the current version of JDEBug and I
don't know how to implement such a feature. It would require vm (i.e.,
JPDA) support and as far as I know JPDA does not support it. If anyone can
suggest a way to implement this feature, I would be happy to do so.
- Paul