Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4651570

step over after popping frames acts like step out

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.4.0
    • Fix Version/s: None
    • Component/s: core-svc
    • Labels:
    • Subcomponent:
    • CPU:
      x86
    • OS:
      linux

      Description



      Name: rmT116609 Date: 03/12/2002


      FULL PRODUCT VERSION :
      java version "1.4.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
      Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

      FULL OPERATING SYSTEM VERSION :
      Mandrake Linux 8.1, Redhat 7.1

      ADDITIONAL OPERATING SYSTEMS :
      Microsoft Windows 2000 Professional Microsoft NT 4.0

      DESCRIPTION OF THE PROBLEM :
      We provide an abstraction called "DropToFrame" which is simply a PopFrames request on a frame followed by a StepIn on the thread.

      After performing a DropToFrame, StepOver requests behave like StepOut.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      You can view our bug report (which includes a simple test case) here:
      http://bugs.eclipse.org/bugs/show_bug.cgi?id=8441

      The gist of it is:
      1. Debug to a breakpoint
      2. Perform a StepOver
      3. Pop the current frame from the stack
      4. Perform a StepIn
      5. A StepOver request will now behave like a StepOut

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      StepOver should only move one line.

      In this case, it exits the current method.

      $ jdb
      Initializing jdb ...
      > stop at HelloWorld:10
      Deferring breakpoint HelloWorld:10.
      It will be set after the class is loaded.
      > run HelloWorld
      run HelloWorld
      >
      VM Started: Set deferred breakpoint HelloWorld:10
      Hi3

      Breakpoint hit: "thread=main", HelloWorld.h(), line=10 bci=0
      10 System.out.println("Hi56"); // Breakpoint here

      main[1] step
      Hi56
      >
      Step completed: "thread=main", HelloWorld.h(), line=11 bci=8
      11 System.out.println("ouch");

      main[1] reenter
      >
      Step completed:
      Breakpoint hit: "thread=main", HelloWorld.h(), line=10 bci=0
      10 System.out.println("Hi56"); // Breakpoint here

      main[1] step
      > Hi56
      ouch

      Step completed: "thread=main", HelloWorld.main(), line=7 bci=20
      7 }

      main[1]


      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      public class HelloWorld {

      public static void main(String[] args) {
      System.out.println("Hi3");
      HelloWorld h = new HelloWorld();
      h.h();
      }

      public void h() {
      System.out.println("Hi56"); // Breakpoint here
      System.out.println("ouch");
      }
      }


      ---------- END SOURCE ----------
      (Review ID: 138959)
      ======================================================================

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                rmandalasunw Ranjith Mandala (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: