microsoft / microsoft/vscode-cpptools

[LLDB] The breakpoint can not be hit for F5 after a 'Step over' into a function

Offen
#506 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug debugger
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

Internal bug id: 259942

Configuration:

VSCode(stable)+ CPP Extension(20160902.1)+ LLDB

Steps to repro:

  1. Copy the debuggee, and open it with VSCode.

src.zip

(You can compile by yourself,please use the command:

step 1: clang++ -g -O0 -std=c++11 -shared -fpic -m64 mylib.cpp -o mylib.so

step 2: clang++ -g -O0 -pthread -std=c++11 -m64 myapp.cpp -o myapp )

  1. Update "program" in launch.json as following:

         "program": "${workspaceRoot}/myapp",
    
  2. Set breakpoints at the line of 73 in myapp.cpp, at the line of 9 in mylib.cpp, at the line of 16 in mylib.cpp.

  3. Press F5 to start debugging.(Hit the breakpoint at the line of 73 in myapp.cpp)

  4. Step over.(Hit the breakpoint at the line of 9 in mylib.cpp)

  5. Click Continue Button

Expected:

Hit the breakpoint at the line of 16 in mylib.cpp.

Actual:

Hit the line of 75 in myapp.cpp.

Investigation:

  1. This issue only repro on Mac.

  2. The step 5(Step over) cause this issue. If change the step 5 to Step into or Continue, the results will be expected.

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.

Rechercherichtung

Reproduziere den nur auf dem Mac auftretenden Fall mit myapp.cpp und mylib.cpp, kompiliere sie mit den Befehlen im Issue und konfiguriere launch.json. Beginne unter LLDB mit der Sequenz aus F5, step-over und continue und untersuche anschließend, wie der Breakpoint in Zeile 16 von mylib.cpp behandelt wird. Als abgeschlossen gilt es, wenn continue nach dem step-over in Zeile 16 statt in Zeile 75 von myapp.cpp stoppt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, typescript
Bereich
developer-experience, devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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