C++ Visual Studio - "Haltepunkt wird nicht erreicht"

pizza4ever

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.734
Hallo,

ich habe eine kleine Frage zum Visual Studio 2008, und zwar habe ich dort ein merkwürdiges Verhalten --> irgendwie stimmen Quelltext und Programmversion "nicht mehr überein" er kompiliert mir auch nicht den Quelltext wenn ich das Debugging / den Release per F5 starte sondern scheint einfach nur noch eine ältere Programmversion zu starten...

Setz ich im Bebugging Mode einen Breakpoint sagt er mir dass der Breakpoint nicht erreicht wird weil der Quellcode Unterscheide zur Originalversion aufweist.

Habe auch mal testweise Erstellen / Neu erstellen versucht, ohne Erfolg?

WAS ist das?
 
Eigenartig. Hast du irgend welche Änderungen an den Projekteinstellungen vorgenommen, bevor das Problem auftrat? Ich nehme mal an, daß es nicht einfach aus heiterem Himmel kam.

Lösche doch am besten mal alle Generierergebnisse. Nicht per "Clean Solution" sondern manuell den gesamten "Debug" (bzw. "Release") Ordner aus deinem Projektverzeichnis löschen.
 
Ich kenne solch ein Verhalten, ich lösche dann bisweilen Dateien, die automatisch erstellt werden, dann geht es meist wieder. Mag sein, dass es elegantere Methoden gibt, als die "Brechstange", aber wenn´s schnell gehen muss ;)

Achte aber darauf, die richtigen Dateien zu löschen ;)


Gruß,

badday
 
Habs nun erstmal ein neues Projekt in VS2010 erstellt..

Werds nachher mal testen, danke ;)
Ergänzung ()

Ah ha.. Problem erkannt, problem gebannt....
Es ist nochmal aufgetreten in VS 2010 und ich dachte mir WTF....

Hab dann ewig lang rumgesucht bis mir klar geworden ist woran es lag:

und zwar hatte ich beides mal angefnagen den Quelltext des Programms zu optimieren udn mir vorher noch ne Sicherung der Originaldateien gezogen hab dann afu den kopierten Dateien editiert, aber auf den Ursprungsdateien Kompiliert...

oh man.
 
Hallo,
ich habe das gleiche Problem, da ich an zwei Versionen gleichzeitig gearbeitet habe :-(.
Wie bekommt man das Problem denn in den Griff?

Soll man der Anweisung in VS folgen, die besagt:
"Wenn das Erreichen des Haltepunktes bei Abweichen des Quellcodes zulässig sein soll, klicken Sie mit der rechten Maustaste auf den Haltepunkt, wählen Sie "Speicherort" aus und aktivieren Sie "Unterschiede zwischen Quellcode und Originalversion zulassen."

Oder zerstöre ich damit mein Programm?
Vielen Dank für eure Hilfe!!
 
Das Problem entsteht oft dann, wenn Quellcode nicht mit der Debugging Datei übereinstimmt (die lock Dateien in Obj ordner wurden nicht richtig entfernt).

Falls die neuen Dateien nicht in den Output richtig kopiert werden, sollte dieser Script (für Pre-Build) ausreichen:

Code:
if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"
 
Danke, für die schnelle Antwort!
Den Release- und Debug-Ordner hatte ich übrigens bereits gelöscht, doch dadurch funktionierte es immer noch nicht.

Wo muss ich denn den die zwei Zeilen Quellcode eintragen? Sorry, ich bin noch Anfänger in C++.
 
Rechte Maustaste auf deinen Projekt (oder Projekt Markieren dann ALT + ENTER) dann erscheint Eigenschaftsfenster. Geh auf Buildereignisse und kopiere das ganze in den "Befehlszeile für Präbuilderignisse".

Das hat jetzt nichts mit dem Debug/Release ordner zutun. Diese zwei Ordner liegen in "bin" Verzeichnis. Das Problem entsteht bei "obj" ordner, der im gleichen Verzeichnis sich befindet wir "bin". Zumindest war es bei mir so.
 
Hmmm, leider hält das Programm bei mir am Haltepunkt immer noch nicht an. Vielleicht besteht bei mir auch ein anders Problem... :mad: ?!
 
Zuletzt bearbeitet:
Ich hatte das mal, als eine Funktion komplett wegoptimiert wurde.

Grad bei Release-Builds ist es oft selbst für den Compiler nicht mehr so einfach, eine Codezeile einem Maschinenbefehl zuzuordnen.

Was bei dir sein kann: Du erstellst dein Programm nicht neu, wenn du es ausführen willst.

Extras->Optionen->Projekte und Projektmappen->Beim Ausführen nicht aktueller Projekte->Immer erstellen
 
Also "Immer erstellen" ist bei mir beim Ausführen nicht aktueller Projekte angegeben.
Aber trotzdem danke für die Antwort!!
 
Ich konnte das Problem schließlich lösen. Ich musste im Projektmappen-Explorer lediglich mit einem rechten Mausklick auf mein Projekt klicken, das Programm bereinigen und anschließend neu erstellen.
 
Wie jetzt, der Vorschlag, den ich vor 3 Jahren gemacht habe (komplette Release / Debug Ordner platt machen), hat nicht gezogen, aber Clean & Rebuild tut's??
 
Zurück
Oben