Entwickler-Ecke
Programmierwerkzeuge - Ich kann keine DLLs debuggen (Delphi 3/7, Windows XP)
Delete - Mo 19.09.05 15:42
Titel: Ich kann keine DLLs debuggen (Delphi 3/7, Windows XP)
Ich kann bei mir unter Windows XP SP2 keine DLLs debuggen. Weder in Delphi 3, noch in Delphi 7. Haltepunkte werden überall vollkommen ignoriert. Hat einer eine Idee, was man da machen könnte?
Klabautermann - Mo 19.09.05 16:16
Hallo,
du öffnest dein DLL Projekt und setzt deine Haltepunkte. Dann trägst du unter Start->Parameter->Lokal->Host Anwendung eine EXE ein, welche deine DLL aufruft (die funktionen, die du auch debuggen willst). Danach kannst du mit F9 deine DLL Kompilieren und die Host Anwendung starten, jetzt sollten die Breakpints beachtet werden.
Gruß
Klabautermann
Delete - Mo 19.09.05 16:33
Danke für die Antwort, aber so einfach ist es nun wirklich nicht. Ich trage grundsätzlich die Host-Anwendung dort ein, wo du es gesagt hast. So auch bei meinen jetzigen DLL Projekten. Das bringt aber rein garnichts.
Kann es was mit der Dateiendung der DLL zu tun haben? Die Dateien heissen alle *.mdl (in den Projektoptionen ist "mdl" als Dateierweiterung eingetragen).
uall@ogc - Mo 19.09.05 16:58
mit delphi3 konnte man doch noch gar nicht debuggen so viel ich weiß. normalerweise hat das nichts damit zu tun aber wenn du es vermutest könntest es doch einfach mal testen indem du die erweiterung rausnimmst und sie "dll" lässt.
Delete - Mo 19.09.05 17:20
Natürlich kann man mit Delphi 3 debuggen, mit allem drum und dran. Aber es geht ja wie gesagt in Delphi 7 auch nicht.
Wegen der Erweiterung: Das Problem ist nur, dass die Host-Anwendung eben *.mdl haben möchte und ich habe den Quellcode der Host-Anwendung nicht, um das zu ändern. Es ist also etwas komplizierter, das ganze zu testen und daher wollte ich erstmal fragen, ob es überhaupt daran liegen kann, bevor ich mir Arbeit mache.
Ich habe übrigens von beiden Delphi Versionen die neuesten Updates installiert.
uall@ogc - Mo 19.09.05 17:24
sicher das die dll überhaupt geladen wird?
ansonsten probiers einfahc mal mit ner eigenen hostanwendung aus, es soltle nicht daran liegen, aber bitte glaub jetzt nicht das wir für dich alle tests machen. wir geben auch nur tips.
also teste das mit der änderung mal mit einer eigenen hostanwensung, die msus ja nur die dll mal laden.
Klabautermann - Mo 19.09.05 17:37
Hi,
uall@ogc hat folgendes geschrieben: |
| sicher das die dll überhaupt geladen wird? |
wobei die Betonung hier auf
die liegt. Kann es sein, dass Kompilierte Versionen der DLLs z.B. im System oder Anwendungsverzeichnis liegen und somit vor deinen zu Debuggenden gefunden wird? Denn die Host Anwendung wird das erste nehmen, was sie finden.
Gruß
Klabautermann
Delete - Di 20.09.05 08:36
Ich habe gerade mal ein kleines Testprojekt angelegt. Eine DLL und eine EXE. Die DLL lässt sich einwandfrei debuggen, sowohl mit der Dateiendung .dll, also auch mit .mdl. An der Endung liegt es also nicht (hätte mich auch gewundert). Das debuggen funktioniert also generell bei DLLs bei mir, nur nicht bei den wichtigen Projekten. Ich weiß leider nicht, wie die Hostanwendung dort die DLLs lädt, bei meinem Test habe ich die DLL mittels der "external" Anweisung eingebunden.
Die DLL, die ich debuggen möchte, ist aber definitv die, die auch gestartet wird. Erstens gibt es von der DLL nur ein Exemplar auf allen Festplatten zusammen und zweitens werden Änderungen in der DLL ja sofort im Programm sichtbar.
Hat noch jemand eine Idee?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!