microsoft / microsoft/vscode-cpptools
[cppvsdbg] The condition for a breakpoint failed to execute if expression is a string
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 6.2k
- Forks
- 1.7k
- Ø Merge
- 14 Std. 46 Min.
- Gemergte PRs (30 T.)
- 61
Beschreibung
Type: Debugger
Setup a valid conditional breakpoint and got an exception or debugger stops every time in the breakpoint set. The expected result is to stop just once. Condition is valid, evaluated in debug console.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
string text ;
for (const string& word : msg)
{
cout << word << " ";
text = word; //breakpoint here expression: text=="from"
if (word=="from")
{
cout << " -> ";
}
}
cout << endl;
}
Version: 1.46.1 (system setup)
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
- C/C++ Extension Version: 0.28.3
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Problem mit cppvsdbg anhand des bereitgestellten C++-Beispiels und dem Ausdruck für den bedingten Haltepunkt text=="from" zu reproduzieren. Untersuche den Auswertungspfad bedingter Haltepunkte für String-Ausdrücke und überprüfe anschließend, dass eine gültige Bedingung nur einmal anhält, anstatt eine Ausnahme auszulösen oder bei jedem Treffer anzuhalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp, typescript
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100