The execution point is the current line whose statements are about to be executed by the debugger. The execution point is always associated with the top most stack frame of the current thread. The line where the current execution point is located will be highlighted in yellow. If the top most stack frame is also the current frame the current yellow line will also be outlined in black.
For all other stack frames in the call stack that are not the top most frame, their locations in the source viewer will be highlighted in grey to indicate that the current execution point is within a method that was called from this line in grey.
Each active thread will have their own execution point. The execution point that is currently visible in the source viewer will correspond the execution point of the current thread. Sometimes a current thread will be executing native code when the session is paused so that there will be no Java code that corresponds to the current execution point as it is inside the native method. In this case, BugSeeker will usually be able to locate the Java native method declaration and highlight that line in grey to indicate the execution point is within the highlighted method.
Moving Up and Down the Call Stack
Usually when the debug session is paused, the execution point which corresponds to the top-most stack frame will be the current frame. You can identify the current frame in the source viewer as it is the highlight that has the black border around it (another way to determine which is the current stack frame is to look at the Call Stack debug tab). To move down the call stack a frame at a time, select Debug | Down One Stack Frame. To move up the call stack a frame at a time, select Debug | Up One Stack Frame. Being able to move up and down the call stack allows you to view the chain of method calls that led to the current location of the execution point or to examine the conditions of previous stack frames that lead to the current exception point of the current thread.