microsoft / microsoft/vscode-java-debug

Breakpoint on outer loop won't stop when using Resume (F5) after breaking once

Offen
#1,407 8 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@testforstephen arbeitet bereits daran.

Seit 15.11.2023.

ai-triaged breakpoint bug compile
Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
19

Beschreibung

When you put a breakpoint on a outer while loop in a method, the debugger break only once instead of for each loop executed. Also, a loop in a if won't work correctly. But if you have an inner loop (loop in a loop), the breakpoint work as expected, so the debugger break after each execution of the inner loop.

Environment
  • Operating System: Windows 10
  • JDK version: 17.0.8
  • Visual Studio Code version: 1.83.1
  • Java extension version: 1.24.0
  • Java Debugger extension version: 0.55.0
Steps To Reproduce

Using this code:
package sandbox;

public class At09Ex05 {
public static void main(String[] args) {
int nb1, nb2, som1, som2;

	som1 = nb1 = 17;
	som2 = nb2 = 7;
	while (som1 != som2) {
		while (som1 < som2) {
			som1 += nb1;
		}
		while (som2 < som1) {
			som2 += nb2;
		}
	}
	System.out.println("Le PPCM de " + nb1 + " et " + nb2 + " est " + som1);
}

}

  1. Place a breakpoint on line : while (som1 != som2) {
  2. Run the debugger and the program stop at the breakpoint
  3. Use Resume (F5)
Current Result

The program run until the end when using F5 on the outer loop

Expected Result

Since the loop should execute a few times, Resume (F5) should stop again at the breakpoint after executing the loop.

Additional Informations

If you do the same test with a brepoint on the while (som1 < som2) { , the behaviour is correct.
If you change while (som1 != som2) { for if (som1 != som2) { then the two inner loops have the problem.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.