Autor Beitrag
Carsten Hölscher
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Mo 03.09.12 20:36 
Bei mir gibt es seit einigen Tagen massive Probleme mit dem Debugger.
Zwei Effekte sind es, möglicherweise hängen sie zusammen.

1.) Ich habe eine Unit, in der der Debugger alle Haltepunkte ignoriert. Allerdings geschieht das nur in dieser einen Unit, sogar in mehreren Anwendungen ist das so, die diese Unit benutzen (die Anwendungen sind in einer Projektdatei organisiert). In alle anderen Units des Projekts verhält sich der Debugger sich normal. Durch Message-Dialoge kann ich zweifelsfrei feststellen, dass der Code ausgeführt wird und der Breakpunt sieht auch normal aus, also rot und mit den blauen Punkten vorne. Nur hält es leider nicht an...und wenn man vorher hält und mit F7 weitergeht, dann werden die Aufrufe in diese Unit vom Debugger übersprungen.
Die pas-Datei habe ich auch schon auf falsche Umbrüche usw. geprüft, ist alles okay.

2.) In einigen Anwendungen der Projektgruppe ist der Debugger quasi ein Totalausfall. Im besten Fall hält die Ausführung beim ersten Erreichen eines Breakpoint an und dann ist Schluss mit dem Arbeiten und man kann nur noch abbrechen und mit F9 wieder von vorne anfangen.

Zu beiden Punkten ist mir keine Änderungen am Projekt oder dem PC bewußt, die damit in Zusammenhang stehen könnte (Delphi 7 Prof. auf xp)

Jetzt habe ich die gesamte Projektgruppe testweise auf einen anderen xp-Rechner gebracht. Dort ist Punkt 1 ebenfalls gegeben, während der 2. Fehler weg ist.

Mir fehlt jetzt ein Ansatz, wie ich auf dem eigentlichen Rechner zumindest den Fehler 2 beheben kann und bevor ich format C: mache mal die Frage hier: Hat irgendjemand eine Idee?

Carsten


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 09.09.2012 um 22:20
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Di 04.09.12 13:36 
Hast Du mal alle *.dcu-Dateien gelöscht und das Projekt komplett neu kompilieren lassen?

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Di 04.09.12 14:23 
Ich gehe mal davon aus, dass Du den Debuggerbefehl {$D+} bei der betroffenen Unit gesetzt hast, denn bei {$D-} werden Debuggerbefehler ignoriert. Falls Du gar keinen Debuggerbefehl gesetzt hast, kann es sein, dass die Vorgabe sich irgendwie geändert hat, und Du nur bei {$D+} eben Haltepunkte erhältst, ansonsten wird so getan, als ob {$D-} gesetzt ist.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 04.09.12 15:09 
Ja, dcu zigfach neu erzeugt und gelöscht. Die "klassischen Debugger-Probleme" kenne ich eigentlich auch - hier muß irgendwas im Argen liegen, was nicht so oft auftaucht.

Habe eben {$D+} unmittelbar vor den constructor der Klasse in der betroffenen unit gesetzt, der Breakpunkt im constructor wird trotzdem ignoriert.

carsten
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Di 04.09.12 15:12 
Setze das {$D+} doch direkt hinter die Zeile UNIT! und vor INTERFACE

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 04.09.12 15:30 
Das war bereits mein erster Versuch, mit gleichem Ergebnis.

Carsten
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 04.09.12 17:06 
Hallo Carsten,
nachdem ich vor ein paar Wochen einen verrückten Fehler "Interner Fehler C1093" beim Compilieren erhalten hatte, gab mir Martok den Hinweis, die Codeoptimierung abzuschalten. Seit dem habe ich weniger Vertrauen zum Compiler, da er manchmal merkwürdige Dinge tut.
Vielleicht hilft Dir diese Idee. Allerdings gebe ich zu, dass ich nur rate. :nixweiss:
Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 04.09.12 19:12 
Die ist aus. Solche internen fehler hab ich auch gelegentlich, da reicht dann ein Neustart der IDE.
Es kommt auch kein Fehler bei mir, nur wenn der Debugger überhaupt anhält, dann kommt man danach nicht mehr weiter (F7, 8, 9 werden ignoriert) und bei Mouseover über Variablen kommt meistens nichts oder Schwachsinn, aber Gelegentlich auch mal plausible Werte.

Carsten
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 04.09.12 19:24 
Hallo Carsten,
ich vermute, Du hast auch das schon gelesen:
Zitat:
Why the Delphi debugger might fail to stop at your breakpoint
Januar 16 2007 5:37
There are a number of reasons Delphi's debugger might fail to stop at a breakpoint you set. I've seen this issue mentioned time and again on the public newsgroups and I thought it might be worth posting a quick list off the top of my head:
•The .pas file you're debugging has is missing line feeds. Be sure that your file has correct CRLF characters at the end of each line.
•You have compiler optimizations turned on. Occaisonally, compiler optimizations may cause your code to execute in an unexpected order. Be sure to turn optimizations off and stack frames on.

•You're looking at a source file that's not actually compiled/linked into the active project. This can happen as a result of copying a file from one directory to another and your project desktop reopens the file from the old location. One quick way to tell is add a syntax error and compile the code, if it doesn't stop on the error then you're looking at the wrong file.
•You turned off Debug Information and Local symbols options. Of course, these are a lot less likely but still possible.

Scheinbar bist Du aber nicht allein mit Deinem Problem. Denn unter der zitierten Adresse folgt noch eine ganze Menge Kommentare:
www.stevetrefethen.c...tyourbreakpoint.aspx

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 04.09.12 19:56 
Besten dank, kannte ich noch nicht. Aber es war wohl nichts dabei, was mir weiterhilft.

Carsten
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: So 09.09.12 22:13 
Ich habe jetzt Format C: gemacht und das ganze System neu aufgesetzt. Dummerweise ist das Verhalten des Debuggers jetzt immer noch so wie auf dem alten System. So ein Mist....
Wo kann man denn da noch profesionelle Hilfe bekommen? Ich brauche das Ganze schon in arbeitsfähigem Zustand.

Carsten
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mo 10.09.12 07:05 
Dann muss es ja eine Projekteinstellung sein. Lösch mal die .dproj-Datei und öffne die .dpr-Datei. Die .dproj wird dann neu generiert.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Mo 10.09.12 12:42 
So eine Datei hab ich gar nicht (Delphi 7).

Carsten
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 10.09.12 14:32 
Huch, der D7-Debugger hatte solche Probleme eigentlich noch nicht, die wurden erst später erfunden :roll:
Aber die Idee mit der vollen Breitseite ist gar nicht so schlecht.

Mach mal ein Backup und lösche danach alles außer .dpr, dfm, .pas. Beim Projekt-Öffnen sollte sich Delphi über fehlende Resourcen beschweren und die leer erstellen.


Sind eigentlich irgendwelche Addons/Experten installiert?

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Mo 10.09.12 14:33 
Also bei mir gibt es die Dagteien projekt.dpi und projekt.dof (Delphi 5). Gerade die .DOF-Datei scheint einige Einstellungen des Compilers (in Textform) darzustellen. Vielleicht hilft Dir das, wenn Du die beiden mal aus-x-st (.dof in .xof und . dpi in .xpi) und dann die Projektdatei startest. Vielleicht wird dann der Debugger ordnungsgemäß geladen.

Falls das Programm gar nicht geladen wird, schreibe doch mal den Inhalt der .dof-Datei hier in den Download.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Mo 10.09.12 15:42 
Eigentlich sollte ich genau das gerade beim Neuaufsetzen des Systems gemacht haben. Werde es aber sicherheitshalber noch einmal machen und mich dann melden.

Problem ist, dass der Debugger am ersten Breakpunkt hält und es dann nicht mehr weitergeht, also keine Reaktion auf F7, F8, F9.

Carsten
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Mo 10.09.12 20:58 
Hatte ich vorhin vergessen zu beantworten: Ich habe GExperts installiert, sonst ist es Delphi 7 + Update frisch von der CD und einige zusätzliche Komponenten aus dem www und eigener Produktion.

Carsten
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 11.09.12 02:58 
Interessante Beobachtung: Ich habe jetzt mal ein Projekt direkt geladen (also die dpr-Datei geöffnet) und dann läuft der Debugger. Startet man dieselbe dpr-Datei aus Projektgruppe, dann hängt der Debugger!

Allerdings bleibt der Effekt, dass die in der einen unit die breakpunkte ohne jeglichen Effekt bleiben. Ist aber nicht die wichtigste unit, also damit könnte man notfalls leben.

Carsten
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Di 11.09.12 08:35 
Hast Du dein Projekt in ein anderes Verzeichnis kopiert und hast seit dem das Problem? Wenn ja lösch mal die *.dsk Datei in beiden Ordnern (alt und neu).

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Carsten Hölscher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

WIN XP, WIN 2000
Delphi 7 Pro
BeitragVerfasst: Di 11.09.12 11:44 
Hatte nichts verändert, aber jetzt die dsk-Datei der Projektgruppe gelöscht und jetzt läuft es auch aus der Projektgruppe wieder korrekt! Darauf muß man aber auch erstmal kommen. Was genau macht die dsk-datei alles, dass sie solche Auswirkungen haben kann?
Bleibt immer noch der Effekt, dass die eine unit alle Breakpoint ignoriert, aber damit kan ich erstmal leben. Besten Dank für die Hilfen.

Carsten