Debuggen_alle aktiven Breakpoints werden ignoriert
-
Hallo zusammen,
ich habe gerade ein Problem beim debuggen. Alle Breakpoints werden plötzlich einfach ignoriert.
Ich habe alle Optionen mit denen anderer Projekte abgeglichen (bei diesen funktioniert es) aber weiß nicht wo ich suchen soll.Das Programm läuft durch auch mit Änderungen - nur kann ich halt auftretende Fehler nicht lokalisieren.
Projekt neu erzeugen hilft auch nicht.Hier mal ein Beispielcode.
int main() { try { Application->Initialize(); //Zeile mt breakpoint - wird //ebenfalls ignoriert Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } }
Der Breakpoint ist als aktiv markiert.
Hier mal ein paar meiner Einstellungen unter den Optionen (BCB6):
Projekt/Optionen/Compiler
/Vorcomp_Header: ohne
/Debuggen: alle aktiviert (Voll Debug)Projekt/Optionen/Linker
/Linken: alles aktivIm www habe ich einen Befehn zum "Halt erzwingen gefunden.
- irgendwas mitaim ... (3)
- genaueres habe ich vergessen
hier kam dann eine Exception.VIelen Dank für die Hilfe,
DerHorst
-
Bist du sicher, dass du nicht ausversehen auf "Release" umgeschaltet hast?
-
Wo finde ich denn diese Option - bin gerade noch mal alle Optionen durchgegangen - diese kann ich nicht finden.
Es sei denn, du meinst unter Compiler "Endgültig" - den hab ich nicht verwendet, dann sind auch die Häkchen unter debuggen deaktiviert.
-
Einfach die letzten Änderungen der Projektdatei (*.bpr oder *.cbproj, je nach Version) mit deinem Versionskontrollsystem nachverfolgen.
"Einen Halt erzwingen" kannst du durch das Aufrufen von
DebugBreak()
.
-
Ich habe mal weiter probiert:
Ich habe jetzt einen Stand des Projektes geladen, bei dem Debuggen funktioniert.
Egal was ich dann ändere:
- code auskommentieren
- irgendwelche buttons/laben... platzieren
- code einfügensofort ist debuggen nicht mehr möglich. AUch wenn ich diese Änderungen rückgängig mache, ist Debuggen nicht mehr möglich.
Vielleicht liegt aber auch hier die Ursache:
Wenn ich das Projekt durch Doppelklick auf die Projektdatei im Explorer öffne, erscheint eine Speicherschutzverletzung in
coreide60.bpl - solch eine Datei ist auf meinem Rechner nicht zu finden.
Beim Öffnen über "Projekt öffnen" geht es scheinbar einwandfrei.
Auch ein Rechnerneustart hilft nicht.
DerHorst
-
-
Kann es sein, daß du das Programm nicht im Debugger ausführst? ("Start ohne Debugging"/Shift+F9)?
-
leider nicht.
Ich nehme immer nur F9. AUch "Project neu erzeugen" half bisher nicht.
-
Hallo
alle "verdaechtigen" schonmal geloescht
tds usw
Mfg
Klaus
-
Wenn
DebugBreak()
(du kannst ja alternativ nochasm int 3
versuchen) nicht zur Unterbrechung führt, dann hängt meist gar kein Debugger am Programm. Speziellasm int 3
führt zum Absturz, wenn kein Debugger angehängt ist.
-
Hallo,
Das hatte ich auch schon mal.
Ich wollte eine Stelle debuggen, die ich aber aus versehen nicht mehr verwendet habe. Der Code wird dann uU nicht mehr gelinkt und ist quasi nicht mehr da, ausser im Quellcode.
Gugg mal da...
Rudi
-
Hallo erst mal und vielen Dank für die Hilfen!
bin die letzten Tage nicht dazu gekommen, aber nu geht es weiter.@ audacia: also die Variante mit asm int (3) bringt einen Programmabsturz und DebugBreak() bewirkt nichts (wird einfach übergangen).
Daher denke ich mal, dass kein "Debugger am Programm hängt". Wie kann ich diesen wieder an das Programm "hängen"?Aber wie beschrieben:
Wenn ich die besagte Version mit F9 compiliere, werden alle Breakpoints angewendet. Ab der nächsten Änderung nicht mehr.
Das erschließt sich mir nicht.@KlausB - welche Verdächtigen? Mir kommen keine in den Sinn
-
Hat niemand eine weitere Idee?
Habe jetzt ein neues Projekt erstellt und alles neu erzeugt. Bisher läuft es.
Mal schauen, wie lange.
-
du hast gesagt, dass ein alter stand des Projekt funktioniert, bis du was änderst.
Hast du mal die Projekt-datei vor und nach der Änderung verglichen? Ob da etwas verstellt wurde?
-
Hallo
zB *.tds, .~, *.obj, usw
das loest so manche Probleme
Mfg
Klaus
-
Einfach mal den BCB zuklappen.
Die erwähnten Dateien löschen ( .obj .tds .exe ).BCB / Projekt öffnen. Komplett neu bauen ( im Debug-modus ).
Und starten. Das hilft bisweilen