![]() |
DLL debuggen
Moin Moin,
ich habe eine DLL und dazu eine EXE (DieTestAnwendung.dpr). Nun wollte ich zum Debuggen der DLL diese EXE angeben Menü > Start > Parameter oder Projektoptionen > Debugger Host-Anwendung = $(OUTPUTDIR)\DieTestAnwendung.exe Arbeitsverzeichnis = $(OUTPUTDIR) Quellpfad = $(PROJECTDIR) Aber irgendwie klappt das nicht, wenn ich mit Variablen arbeite (siehe das Edit-Fenster am PostBuildScript) Es kommt vom Delphi nur
Delphi-Quellcode:
Komisch, eigentlich war ich der Meinung, dass die relativen Pfade von der Projektdatei aus gehen, wie es z.B. bei den Ausgabepfaden der DCU und EXE der Fall ist, aber
---------------------------
Fehler --------------------------- Programm 'C:\DasVerzeichnis\%OUTPUTDIR%\DieTestAnwendung.exe' kann nicht gefunden werden. --------------------------- OK --------------------------- Host-Anwendung = .\Win32\Debug\DieTestAnwendung.exe Zitat:
Delphi-Quellcode:
, sowie
.\Scripting.exe
Delphi-Quellcode:
funktionieren.
C:\DasVerzeichnis\Win32\Debug\DieTestAnwendung.exe
Aber absolute Pfade sind ein Nogo und bei diesem relativen Pfad hab ich immer das Gefühl er wäre falsch, wenn ich ihn sehe. :freak: Wie gebt ihr sowas dort an? |
AW: DLL debuggen
Du brauchst die Hostanwendung gar nicht angeben. Es genügt, wenn beide Projekte in der gleichen Projektgruppe sind und externe Debugsymbole aktiviert sind. Dann kannst du einfach beide Projekte erstellen und die Hostanwendung starten. Du kannst dann in Hostanwendung und DLL gleichermaßen debuggen.
Mit Variablen scheint es jedenfalls nicht zu gehen. Ich habe immer relative Pfade verwendet. |
AW: DLL debuggen
Ja, alles in einer gemeinsamen Projektgruppe.
Die Projekte liegen im gleichen Verzeichnis und damit auch die Standard-Ausgabepfade an selber Stelle. (EXE und DLL nebeneinander) Natürlich mit Debuginfos kompiliert. Wenn ich die EXE im Debugger starte, dann wird die DLL ohne Debuginfos geladen. [edit] komisch, jetzt mit Debuginfos [/edit] Zitat:
Beim Starten der DLL muß mindestens die Hostanwendung angegeben sein, sonst startet der Debugger ja nicht. Zitat:
Vorhin |
AW: DLL debuggen
So wie in deinem Edit sollte es sein. Exe starten, sobald die DLL geladen ist, kann man beide debuggen.
Das klappt leider auch hier nicht immer auf Anhieb. Neustart von Delphi und Erstellen beider Projekte hilft aber meistens. |
AW: DLL debuggen
Dennoch bleibt, dass ich die relative Pfadangabe dort etwas verwirrend empfinde.
Wie gesagt, sonst ist es relativ zum Projekt, aber hier relativ zum Ausgabeverzeichnis. [obwohl] Wo ich grade nochmal drüber nachdenke ... bezüglich RemoteDebugging, relativ zum DeployPfad. :stupid: Nja, mehrfach neu gestartet hatte ich es schon wegen anderer nerviger Macken. Schon, als ich nur ein Projekt gedebuggt hatte, also noch nicht übergreifend. * Haltepunkte verschwinden ... kommen 'ne Stunden später zurück * Haltepunkte verschieben sich, fast jedes Mal, wenn das Debuggen gestartet oder gestoppt wird. * oft werden sie hier angezeigt, aber sind eigentlich dort * und wenn die IDE verreckt, ist alles im Arsch, da beim "alles Speichern" nicht der Desktop gespeichert wird. * * paar Mal ist einfach beim CodeInsight, oder wenn ich in den Property-Editor klicke, die IDE einfach so hängen geblieben * ... |
AW: DLL debuggen
boar eh ... mal geht's ne ganze Weile,
dann wieder 'ne Weile garnicht, dann geht mal absolut garnichts und einmal sogar falschrum, also nicht das aktive Projekt, aber dafür die fremde Seite (bei Beiden, selbst nach mehreren Wechseln hin und her) |
AW: DLL debuggen
Ja, ich weiß: ich bin nur ein blutiger Amateur im Vergleich zu Euch, und auch noch vollkommen fachfremd :( :
Zitat:
Ich weiß, es ist überhaupt nicht professionell :oops:, aber es funktioniert bei mir immer... :-D |
AW: DLL debuggen
Zitat:
Zitat:
|
AW: DLL debuggen
:cry:
@Andreas13 Bei Pfaden, welche zur Laufzeit bestimmt werden, oder zu Dateien, welche sich nach der Installation nicht verschieben, da sind feste Pfade OK. Relative Pfade, wenn sie abhängig von z.B. einen veränderlichem Arbeitsverzeichnis abhängen, da sind vollkommen fehleranfällig. Drum wird da auch immer empfohlen, dass man absolute Pfade benutzen soll, welche man z.B. oft aus einem relativen Pfad zur EXE live generiert. Die "relativen" Pfade in den Projektoptionen sind fast alle relativ zum Projektverzeichnis (zur DPROJ). Per se ist das immer gleich, aber man kann z.B. das ganze Projekt verschieben/umbenennen. * innerhalb der Festplatte * oder auf mein NAS * oder ich könnte mein Projekt jemand Anderem geben Da sind absolute Pfade nicht möglich, aber relativ (so lange es innerhalb der Projektstruktur liegt) ist dort ideal. |
AW: DLL debuggen
Ich sagte doch: ich bin nur ein kleiner Amateur mit kleinen Projekten... :oops: :oops: :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz