microsoft / microsoft/vscode-java-debug

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

Aperta
#1,407 8 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@testforstephen ci sta già lavorando.

Dal 15/11/2023.

ai-triaged breakpoint bug compile
Lingua principale
TypeScript
Stelle
591
Fork
429
Merge medio
1g 9h
PR unite (30g)
19

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.