AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

D7 und Debug in dll

Ein Thema von hanspeter · begonnen am 12. Okt 2007 · letzter Beitrag vom 5. Nov 2007
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

D7 und Debug in dll

  Alt 12. Okt 2007, 11:52
Hallo,
ich habe ein kleines Problem beim Debuggen einer dll mit Delphi 7.
Ich aktiviere eine dll im Projekt.
Unter Start definiere ich die Hostanwendung.
Nach dem Start sind in der dll keine Haltepunkte vorhanden.
Auch das Einschalten der Schalter TD32 und externe Symbole bringt nichts.
Hat wer einen Tip ?

Mit Gruß
Peter
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: D7 und Debug in dll

  Alt 12. Okt 2007, 11:56
Hallo,

das Debuggen einer DLL, gerade unter WinXP, ist nicht ganz trivial. Dazu gibt es einige Threads, wahrscheinlich auch hier in der Delphi-PRAXIS - einfach mal die Suche bemühen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: D7 und Debug in dll

  Alt 12. Okt 2007, 12:01
Was machst du?

Also ich debugge unter D/ auch DLLs (eigens geschriebene natürlich)
du musst dazu zwei dinge beachten:
1. Start-> Startparameter die Hostanwendung angeben (hast du anscheinend ja) und [ok] drücken (nicht [laden])
2. Die DLL muss als ausgabeverzeichnis auch dort liegen, dass die Hostanwendung sie laden würde und nicht irgendeine alte Kopie. Also am besten unter den Projektoptionen das Ausgabeverzecihnis ins Verzeichnis der Hostanwendung legen (oder wo du auch immer in der Hostanwendung die DLL erwartest.


[Editost #999 ]
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: D7 und Debug in dll

  Alt 12. Okt 2007, 12:51
Hallo,

Zitat von SDC:
{****}

Bis und mit W2k hat es gereicht, unter Start=>Parameter=>HostAnwendung eine
EXE an zu geben, welche die DLL lädt. Dies reicht leider bei Windows XP nicht mehr

Damit Delphi die DLL beim Ausführen des Programmes erkennt,
muss folgendes gemacht werden:

Das Programm muss die DLL laden. Danach Ctrl-Alt-M innerhalb von Delphi drücken,
um die Module aufzulisten. Unter umständen wird hier die DLL ohne Pfadangabe angezeigt.
Wenn dies der Fall ist, handelt es sich um das hier beschriebene Problem.


Lösung:

Auf die DLL klicken, über die rechte Maustaste "Symbole neu laden" anklicken und
dann den kompletten Pfad zur DLL angeben. Jetzt sind die Breakpoints aktiv.

Falls die DLL in einen Systempfad compiliert wird (ein Verzeichnis im PATH),
besteht dieses Problem nicht.
Quelle
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#5

Re: D7 und Debug in dll

  Alt 12. Okt 2007, 13:20
Wie schon sinnigerweise gesagt
"das Debuggen einer DLL, gerade unter WinXP, ist nicht ganz trivial."

Die dll ist ein Hydra (Remobjects) Plugin.
Hier gibt es wohl ein Problem beim Umschalten zwischen den Quelltexten.
Ich weis noch nicht warum, aber nach einigen Rumklicken und Neustarten von
Delphi geht es dann irgendwann.
Zwischen der dll und der Anwendung befindet sich ja noch das Plugin-Framework.
Mit Remotedebug scheint es aber erst mal zu gehen.
Ich muß heute abend mal probieren, ob der Effekt unter D2007 auch noch auftritt.

Gruß
Peter
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#6

Re: D7 und Debug in dll

  Alt 15. Okt 2007, 13:44
Also ich habe jetzt weiterprobiert und muss feststellen,
das Testen einer Dll ist mit Delphi einfach eine Zumutung.

An der Pfadzuordnung liegt es nicht. Zur Laufzeit ist das Modul mit vollen Pfad spezifiziert.
Ich habe das zu testende Modul auch mal probeweise nach Windows\system32 gebracht, was ohne Wirkung war.
Bei dem jeweils aktivierten Modul werden nach der Compilierung die blauen möglichen Haltepunkte angezeigt.
Exakt mit dem Programmstart verschwinden diese und nach Programmende sind diese wieder da.
Ich habe noch keinen Zusammenhang herausbekommen, warum es ab und zu geht.
Bei D7 gibt es wohl keinen Menüpunkt "Symbole neu laden" oder ich habe diesen noch nicht gefunden.


Gruß
Peter
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: D7 und Debug in dll

  Alt 15. Okt 2007, 16:18
Ich würde dir empfehlen, das ganze mal in der Hydra newsgroup zu fragen.
Bis vor kurzem haben viel der RO-Jungs selber noch D7 benutzt, d.h.: Sie werden das wohl selbst erlebt und irgendwie behoben haben...
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von kersm
kersm

Registriert seit: 18. Mai 2006
Ort: Austria
10 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: D7 und Debug in dll

  Alt 5. Nov 2007, 08:28
Hallo,

habe denke ich dass gleiche Problem.
Aber bei mir funktionierts auf W2k mit TurboDelphi nicht.
Jedoch aber auf WinXP mit der gleichen TurboDelphi Version.

Habe alle Projekt/Optionen kontrolliert: sie sind ident.
Einzig die Pfade sind unterschiedlich, aber für jedes der beiden Systeme richtig.

Beim Laden der DLL auf WinXP kommt im Ereignis Protokoll: 'Enthält Debug-Infos' und alles funktioniert.
Aber beim Laden auf dem W2k kommt: 'Ohne Debug-Infos'.

Am W2k System habe ich keine Admin Rechte. Es hat aber beim allerersten Versuch die Dll zu debuggen funktioniert, allerdings seitdem nicht mehr.

Bitte um eure Hilfe...

mfg
Martin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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