Mega Code Archive

 
Categories / Delphi / Ide Indy
 

Debug a dll in windows xp

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.