Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Haltepunkte werden nicht erreicht (https://www.delphipraxis.net/158557-haltepunkte-werden-nicht-erreicht.html)

Angel4585 22. Feb 2011 08:55

Haltepunkte werden nicht erreicht
 
Hallo,

in einem Projekt habe ich gerade das Problem, dass ich Haltepunkte drin habe, die angeblich jedoch nicht erreicht werden, also so durchkreuzt sind.
Um zu testen ob es an der Codestelle liegt habe ich direkt auf das Application.Initialize einen Haltepunkt gesetzt.
Selbst dort tritt das auf.
Das Projekt wird beim drücken von F9 aber ganz normal ausgeführt, wie mit nem Debugger.
Nur dass er nicht bei den Haltepunkten anhält.

Ich hab jetzt schon einen andern Thread hier entdeckt, der sich mit dem Thema Haltepunkte beschäftigt: http://www.delphipraxis.net/44170-le...ml#post1050779
Hat mir leider nicht weitergeholfen.

Checkliste:
[x]Projektoptionen->Delphi-Compiler->Compilieren->Debug-Informationen
[x]Tools->Optionen->Debugger-Optionen->Integriertes Debuggen

Das sind denke ich die zwei wichtigsten, sonst weis ich nicht was ich noch einstellen kann.
An was kann das noch liegen?

Edit: In anderen Projekten funktioniert das debuggen problemlos

Bernhard Geyer 22. Feb 2011 08:56

AW: Haltepunkte werden nicht erreicht
 
Hast du das Projekt komplett neu übersetzt (Erzeugen). Ein einfaches Kompilieren sorgt nicht dafür das die nötigen DCU-Dateien mit Debug-Infos neu erzeugt werden.

DeddyH 22. Feb 2011 08:57

AW: Haltepunkte werden nicht erreicht
 
Steht die Build-Konfiguration auf Debug oder Release?

Angel4585 22. Feb 2011 09:02

AW: Haltepunkte werden nicht erreicht
 
Ah da hammas.
Die Build-Konfiguration stand auf Debug, aber Compilieren allein hat nicht gereicht.
Ich bin auf Erzeugen gegangen, dann hats alle dcu's mal erzeugt un dann gingen auch die Haltepunkte :thumb:

Sir Rufo 22. Feb 2011 09:17

AW: Haltepunkte werden nicht erreicht
 
Um dieses Problem zu umgehen kann man in den Projekt-Optionen folgendes einstellen:
Code:
Ausgabeverzeichnis für Units = .\dcu\$(Config)
und alles wird gut

mleyen 22. Feb 2011 09:23

AW: Haltepunkte werden nicht erreicht
 
Zitat:

Zitat von Sir Rufo (Beitrag 1083418)
und alles wird gut

Oder man geht Notfalls hin und löscht alle Dateien bis auf *.dpr, *.pas und *.dfm und lädt dann die gespeicherten Builds. :wink:

Sir Rufo 22. Feb 2011 09:27

AW: Haltepunkte werden nicht erreicht
 
Zitat:

Zitat von mleyen (Beitrag 1083421)
Zitat:

Zitat von Sir Rufo (Beitrag 1083418)
und alles wird gut

Oder man geht Notfalls hin und löscht alle Dateien bis auf *.dpr, *.pas und *.dfm und lädt dann die gespeicherten Builds. :wink:

In *.dproj stehen die ganzen Projekteinstellungen drin (Version, Ausgabeverzeichnis, etc.) warum sollte man die löschen?
*.inc könnte auch was wichtiges drinstehen

Und da gibt es noch einen Haufen Dateien, die ebenfalls wichtig sein könnten ...

Als PreBuild-Ereignis könnte man die *.dcu und *.exe löschen, ok aber mit dem unterschiedlichen Ausgabeverzeichnissen für die DCUs ist das wesentlich einfacher im Handling

mleyen 22. Feb 2011 09:36

AW: Haltepunkte werden nicht erreicht
 
Zitat:

Zitat von Sir Rufo (Beitrag 1083422)
In *.dproj stehen die ganzen Projekteinstellungen drin (Version, Ausgabeverzeichnis, etc.) warum sollte man die löschen?

Damit man schnellstmöglich etwas zum Debuggen/Laufen bekommt und sich nicht lange um Netzwerk-, Einstellungsprobleme, zerschossenen Dateien usw kümmern muss.
Kommt halt auf Projekt(größe)/Zeit an.

Luckie 6. Apr 2012 21:21

AW: Haltepunkte werden nicht erreicht
 
Zitat:

Zitat von Angel4585 (Beitrag 1083402)
Checkliste:
[x]Projektoptionen->Delphi-Compiler->Compilieren->Debug-Informationen
[x]Tools->Optionen->Debugger-Optionen->Integriertes Debuggen

Das habe ich auch schon alles gemacht und auch das Projekt neu erzeugt, auch vorher die dcus gelöscht. Aber das BDS2006 hält bei einem NonVCL Projekt einfach nicht an den Haltepunkten an. Was kann ich noch machen? Ach ja, wo kann man denn die Builkd-Konfiguration umstellen oder gibt es das beim BDS2006 noch nicht?

Bei einem neuen VCL-Projekt funktionieren die Haltepunkte übrigens.

himitsu 6. Apr 2012 22:07

AW: Haltepunkte werden nicht erreicht
 
Eigentlich sollte es keinen Unterschied machen, ob VCL oder NonVCL.

Die SysUtils hast du aber nicht eingebunden?
Dort drin wird wird ja eine Fehlerbehandlung initialisiert.



Die Haltepunkte sind auch aktiv (rot) und man sieht ansonsten die blauen Codepunkte?

Was passiert, wenn du dein Progamm mit F7 startest?

Im Notfall könntest du noch
Delphi-Quellcode:
asm int 3 end;
oder MSDN-Library durchsuchenDebugBreak verwenden.

Luckie 6. Apr 2012 22:14

AW: Haltepunkte werden nicht erreicht
 
Nein, die SysUtils wird nicht verwendet. Die braucht man ja nur für die Exceptions. Und mit F7 laden ich sofort im CPU Fenster, was auch nicht gerade optimal ist.

jaenicke 7. Apr 2012 07:14

AW: Haltepunkte werden nicht erreicht
 
Du könntest einmal die .bdsproj Datei umbenennen (und die .local, ... löschen) und dann die .dpr öffnen. Dann erzeugt Delphi eine neue Standardprojektdatei. Wenn es an Einstellungen daraus lag, sollte es dann behoben sein.

Wenn es dann immer noch nicht geht, wird wohl auf die falschen Dateien zugegriffen. Aber dazu schreibe ich erst mehr, wenn das andere nicht funktioniert hat. ;-)

Luckie 7. Apr 2012 09:18

AW: Haltepunkte werden nicht erreicht
 
Na, dann schreib mal mehr. :(

jaenicke 7. Apr 2012 10:34

AW: Haltepunkte werden nicht erreicht
 
Erstens:
Was passiert, wenn du ein neues Projekt erstellst, die neue Unit dort herauswirfst und die alten aus deinem aktuellen Projekt dort hineinpackst? Funktioniert es dann?

Wenn nicht, schau am besten einmal mit dem Process Monitor welche .dcu Dateien und welche Pfade eigentlich beim Kompilieren und Debuggen benutzt werden.

Luckie 7. Apr 2012 11:13

AW: Haltepunkte werden nicht erreicht
 
Die Haltepunkte stehen in der dpr-Datei, da kann ich nichts austauschen. Und die aktuellen dcus werden verwendet, da die Änderungen im Code der dpr wirksam werden.

bernerbaer 7. Apr 2012 15:14

AW: Haltepunkte werden nicht erreicht
 
Anderer Ansatz:
Da war doch irgendwann mal was mit den Logitechtreibern, ich kann mich erinnern vor Jahren mal das selbe Problem gehabt zu haben. Mit dem Borland oder Codegear Support (ich weiss nicht mehr wer damals zuständig war), habe ich dann eine Logitech Webcam als Verursacher herausgefunden. Nach der Deinstallation der Logitechtreiber funktionierten meine Breakpoints wieder wie gewohnt.

Luckie 7. Apr 2012 17:39

AW: Haltepunkte werden nicht erreicht
 
In einem neuen VCL Projekt funktionieren sie ja wie sie sollen. Das kann es also auch nicht sein.

himitsu 7. Apr 2012 17:51

AW: Haltepunkte werden nicht erreicht
 
Eine neue normale Konsolenanwendung kannst'e auch debuggen?

freeway 16. Apr 2012 20:50

AW: Haltepunkte werden nicht erreicht
 
ist mir Heute unter XE2 auch passiert das der Haltepunkt ignoriert wurde
Die DCU´s löschen hat nicht geholfen (Integriertes Debuggen aktiv)
geholfen hat: von einer älteren Sicherungskopie dpr / dproj / dproj.local in das Projekt Verzeichniss kopieren
Scheint mit dem Punkt "Zum Neuerzeugen beim Debuggen geänderte Projekte auffordern" zusammenzuhängen...

Assarbad 16. Apr 2012 21:08

AW: Haltepunkte werden nicht erreicht
 
Workaround: man rufe selber MSDN-Library durchsuchenDebugBreak auf. Wird dieser Breakpoint nicht erreicht, wird der entsprechende Code nicht ausgeführt. Bei anderen Dingen kann auch immer der Optimierer dazwischengrätschen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz