Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-debug-dev] debuggee is spontaneously resumed after HCR of active frame

Hi all,

While trying HCR I've noticed that debuggee is spontaneously resumed when
active frame becomes obsolete. I exercised the following cases under Eclipse
3.2RC7, Eclipse 3.1.1, debuggee was started under jrockit1.5:

   public static void main(String[] args) {
       foo();
   }

   static void foo() {
       System.out.println("x");   // TESTCASE1: set breakpoint here
       boo();
   }

   static void boo() {
       System.out.println("X");   // modify this message
       System.out.println("");    // TESTCASE2: set breakpoint here
   }

TESTCASE1:
 1) Set a line breakpoint at the first line of the foo method
 2) Modify the message at the first line of the boo method
 3) Save changes
The "Obsolete method on the stack" dialog will appear. IMHO this dialog should
not appear in this case because actually there are no obsolete frames on the
stack. After pressing the "Continue" button, debuggee remains in the suspended
state that is ok.

TESTCASE2:
 1) Set a line breakpoint at the second line of the boo method
 2) Modify the message at the first line of the boo method
 3) Save changes
The "Obsolete method on the stack" dialog will appear as well. But in
contrast to
TESTCASE1 debuggee is resumed even if the dialog remains active. This test
case modifies the upper frame but if any active frame is modified, debuggee is
spontaneously resumed as well only that the "Obsolete method" dialog does not
appear.

Probably, the problem is in VM implementation.
Unfortunately, I have no chance to investigate it.

--
Vitaly Provodin,
Intel Middleware Products Division


Back to the top