Skip to content

Fix statement stepping skipping return statements - #1054

Merged
SougandhS merged 1 commit into
eclipse-jdt:masterfrom
SougandhS:FixReturnStep
Nov 7, 2026
Merged

SougandhS merged 1 commit into
eclipse-jdt:masterfrom
SougandhS:FixReturnStep

Conversation

@SougandhS

Copy link
Copy Markdown
Member

Do not skip a location if the instruction right after the load/constant is a return.

Fixes #1053

What it does

How to test

Author checklist

Do not skip a location if the instruction right after the load/constant
is a return.

Fixes eclipse-jdt#1053

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

There are no active review issues for the change preserving debugger stops at return statements.

No open issues 🎉

What changed in this PR

This PR addresses #1053 by preserving stops at return statements when “Skip intermediate instructions while stepping” is enabled in the Java debugger.

Changes:

  • Prevents skipping a load or constant-push instruction immediately followed by a return, accounting for instruction length.
  • Adds and registers a regression test program.
  • Adds a stepping test that verifies suspension at the return statement before returning to the caller.
File Description
org.eclipse.jdt.debug/​model/​org/​eclipse/​jdt/​internal/​debug/​core/​model/​JDIThread.java Checks for return instructions before skipping a stepping location.
org.eclipse.jdt.debug.tests/​tests/​org/​eclipse/​jdt/​debug/​tests/​AbstractDebugTest.java Registers the new test program.
org.eclipse.jdt.debug.tests/​tests/​org/​eclipse/​jdt/​debug/​test/​stepping/​StatementSteppingTests.java Verifies that stepping does not skip the return statement.
org.eclipse.jdt.debug.tests/​testprograms/​StatementStepReturn.java Provides the conditional-return regression scenario.

Review effort: Balanced

@SougandhS
SougandhS merged commit 8904bd1 into eclipse-jdt:master Nov 7, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Statement stepping may skip return statements

2 participants