Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debugger ignoriert Breakpoints (https://www.delphipraxis.net/112783-debugger-ignoriert-breakpoints.html)

FrankBKK 27. Apr 2008 08:58


Debugger ignoriert Breakpoints
 
Moin zusammen,

ich hab da ein riesiges Problem:
In einem ziemlich umfangreichen D5-Projekt existiert eine Unit in der saemtliche Breakpoints
vom Debugger ignoriert werden.

In allen anderen Units funktionierts einwandfrei. Compilieren und Linken laeuft
ohne Fehlermeldungen oder Warnungen.

Es hat den Anschein dass da in der pas-Datei irgendwas verutscht ist:
Normalerweise werden im Editor ja so blaue Punkte vor dem Quelltext angezeigt,
an denen man einen Breakpoint setzen kann - nur bei dem File werden diese
Punkte nur in einem Teil des Quellcodes angezeigt - die ersten 16000 Zeilen
werden ignoriert und danach sieht es aus als ob die Punkte nicht zum Quellcode
passen - so als ob Delphi von nem anderen Quelltext ausgehen wuerde - aber alle
Aenderungen werden beim compilieren seltsamerweise auch korrekt uebernommen
- nur eben der Debugger springt nicht in den Breakpoint !

Ach ja, noch was - wenn ich den Breakpoint in einer anderen Unit setze von der aus
diese defekte unit aufgerufen wird, um mich quasi durch die hintertuer 'reinzutracen'
hagelt es Access Violations und ich muss Delphi ueber den Taskmanager beenden.

Ich hab bis jetzt folgendes ausprobiert:
- Alle DCU's geloescht, die Unit aus dem Projekt entfernt, Projekt neu compiliert und die Unit wieder eingefuegt
- die pas datei in nem externen Editor ueberprueft
- dsk file geloescht
- source auf compilerschalter D- ueberprueft
- Compiler- und Linker-Einstellungen geprueft
leider alles ohne Ergebnis

Weiss da bitte jemand weiter ?
Ich bin am verzweifeln !

SirThornberry 27. Apr 2008 09:06

Re: Debugger ignoriert Breakpoints
 
hast du vielleicht eine weitere Datei irgendwo in den Sourcepfaden etc. die den gleichen Namen hat?

Ralf Kaiser 27. Apr 2008 09:06

Re: Debugger ignoriert Breakpoints
 
Zitat:

Zitat von FrankBKK
Ich hab bis jetzt folgendes ausprobiert:
- Alle DCU's geloescht, die Unit aus dem Projekt entfernt, Projekt neu compiliert und die Unit wieder eingefuegt

Da existiert noch eine andere Kopie dieser Unit bzw. der dazu gehörenden DCU in einem anderen Verzeichnis! Ansonsten hättest du das Projekt ja nicht compillieren können nachdem du die Unit entfernt hast. Suche mal auf deiner Platte nach dem entsprechenden Dateinamen. Am besten vorher die betreffende Unit im Explorer umbenennen und dann den Originalnamen suchen.

Ciao,
Ralf

Bernhard Geyer 27. Apr 2008 09:28

Re: Debugger ignoriert Breakpoints
 
Am einfachste sucht man die Unit (wenn es eine Pas-Version davon gibt) indem man bei gedrückter Shift-Taste den entsprechenden Eintrag in der Uses-Anweisung anklickt.

FrankBKK 27. Apr 2008 09:31

Re: Debugger ignoriert Breakpoints
 
Aber wieso werden dann meine Aenderungen im Quellcode zur Laufzeit korrekt ausgefuehrt ???

hab es aber trozdem ueberprueft - es gibt keine dcu oder pas datei mit dem Namen ...

hoika 27. Apr 2008 10:43

Re: Debugger ignoriert Breakpoints
 
Hallo,

1. Compiler-Direktive in der unit verhindert das Debuggen,
genauer Debug-Infos

2. Externer Editor. welcher ?
Nimm mal Notepad


Heiko

s-off 27. Apr 2008 11:18

Re: Debugger ignoriert Breakpoints
 
Hallo,

führe mal ein komplettes Build aus, anstelle nur zu kompilieren.

FrankBKK 27. Apr 2008 11:50

Re: Debugger ignoriert Breakpoints
 
Du meinst "Build all Projects" ?
Das hab ich als erstes gemacht ...

dominikkv 27. Apr 2008 12:02

Re: Debugger ignoriert Breakpoints
 
Dann benenne die besagte Unit um, erstelle eine neue Unit mit dem alten Namen und speichere ab, dann kopierst du den Inhalt der umbenannten Unit in die neue Unit und speicherst nochmal ab. DCU am Anfang löschen.

alzaimar 27. Apr 2008 12:30

Re: Debugger ignoriert Breakpoints
 
Es liegt definitiv daran, das irgendwo eine XYZ-DCU herumschlummert:
Du hast also zwei DCU-Versionen (A) und (B)

A wird vom Kompiler aktualisiert und gelinkt, daher siehst Du auch die Änderungen.
B wird vom Debugger im Suchpfad zuerst gefunden und daher für die Darstellung der blauen Bupsel hinzugezogen. Da die Adressen nicht stimmen, kann man auch keinen Breakpoint einfügen.

Wie alle schon sagten: Lösche ALLE XYZ.DCU auf der gsammten Festplatte und kompiliere dann nochmal. Diesen Fehler hatte ich auch schon öfters und erst als ich die DCU gelöscht habe, funktionierte alles einwandfrei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Seite 1 von 2  1 2      

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