microsoft / microsoft/vscode-cpptools

Unable to set conditional breakpoint containing double-quotes: "Problem parsing arguments: break-insert -f -c"

Offen
#4,562 1 Kommentar 6 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

Type: Debugger

Problem: Unable to set conditional breakpoints (expressions) that contain double-quotes. I can side step the issue by escaping all of the double-quotes in the expression but that is not intuitive for those who use the UI for debugging and are unfamiliar with GDB/MI. I'd argue that vscode should escape all user-provided expressions (conditional breakpoints, watches, etc.) that are provided to GDB/MI.

  • OS and Version: RHEL 7
  • VS Code Version: 1.39.2
  • C/C++ Extension Version: 0.26.1
  • Other extensions you installed (and if the issue persists after disabling them): None

To Reproduce

  1. Create a conditional breakpoint (expression) with the following value:
$_streq(some_string,"/tmp/foobar")
  1. Start debugging (F5). Break point turns gray and hovering over the breakpoint displays:
Problem parsing arguments: break-insert -f -c "$_streq(some_string,"/tmp/foobar")" at file.c:23

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

Beginne damit, den bedingten Breakpoint mit $_streq(some_string,"/tmp/foobar") zu reproduzieren, und untersuche, wie die Erweiterung die GDB/MI-Argumente für break-insert erstellt. Verfolge den Pfad des bedingten Breakpoints und überprüfe, dass vom Benutzer bereitgestellte Ausdrücke mit doppelten Anführungszeichen ohne manuelles Escaping funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, typescript
Bereich
devtools, tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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