[gelöst] C++, Visual Studio, "Haltepunktanweisung ausgeführt" ohne Breakpoint
-
Hallo,
sonderbarer Weise (für mich) habe ich ab und an im Debugmodus einen Stop im Programmablauf (eines C++ Programms) mit der Meldeung "Haltepunktanweisung ausgeführt" und der Information "Eine Breakpointanweisung (__debugbreak()-Anweisung oder ein ähnlicher Aufruf) wurde in GloBankCustomer.exe ausgeführt." obwohl ich keinen Breakpoint gesetzt habe.
Auffällig ist, dass dieses oft etwas mitstd::string
's oderstd::ostringstream
's bzw.std::istringstream
oder auch ab und an mitnew
zu tun hat (wenn ich z.B. vonC++20 (/std:c++20)
aufC++17 (/std:c++17)
umschalte.Ein Beispiel wo die Meldung aufplopt (nach mehrmaligen Durchlauf der Methode ohne diese Meldung):
... std::string t_sRetVal; std::ostringstream t_ossConverter; // hier meine Deklaration des Streams ...
Dieses wird jetzt noch ausgeführt in <sstream>:
über
class basic_ostringstream ... ... basic_ostringstream() : _Mybase(_STD addressof(_Stringbuffer)), _Stringbuffer(ios_base::out) {} ...
in
class basic_stringbuf ... ... explicit basic_stringbuf(ios_base::openmode _Mode) : _Seekhigh(nullptr), _Mystate(_Getstate(_Mode)), _Al() {}
wird die besagte Meldung angezeigt.
Das kann auch etwas später passieren, wenn ich z.B. in den std::ostringstream etwas streame.
Ich kann die Ausführung des Programmes mit [F5] (Weiter) fortsetzen.
Ich benutze:
Microsoft Visual Studio Community 2022 (64-Bit)
Version 17.10.1Hat jemand einen Rat?
-
Lösche mal die ".suo"-Datei (bzw. benenne sie um) im versteckten Ordner ".vs\<solutionname>\v17", s.a. Where are Visual Studio breakpoints saved?
Ein paar andere lokale Einstellungen gehen dabei aber dann mit verloren, s. What is actually contained in a *.suo file?
-
@Th69
Das war es nicht. Aber danke für diesen Tipp für zukünftige Probleme.
Der Grund lag darin, dass ich mit meinem Projekt in neues Verzeichnis umgezogen bin und ein von mir genutztes Tool, welches Source-Dateien erzeugt, weiterhin in das ursprüngliche Verzeichnis Source-Dateien erzeugt hat. Diese wurden aber gar nicht berücksichtigt. Damit kam der Debugger wohl nicht mehr klar.