whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

29 Visitors Online


 
...debug a DLL in Windows XP?
Autor: Elias Zurschmiede
Homepage: http://www.delight.ch
[ Print tip ]  

Tip Rating (10):  
     


Until up to Win2k, you had to set the HostApplication on Start=>Parameter to
debug a DLL. This will not work on Windows XP.

That Delphi will know the DLL if you run the progam, you have to do the
following:

The program must load the DLL. After this, press Ctrl-Alt-M in Delphi, to list
all modules. Sometimes there will be the DLL with path.

Solution:

Right click on the DLL, select "Reload symbols" and set the full path to the
DLL. Now the breakpoints should be active.


When the DLL will be compiled in the system path (directory in PATH) this
problem dont occur.


{****}

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.

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners