Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 6 Inproc Comserver debuggen (https://www.delphipraxis.net/61065-delphi-6-inproc-comserver-debuggen.html)

delphirocks 16. Jan 2006 17:32


Delphi 6 Inproc Comserver debuggen
 
Hallo,

habe ein Problem beim Debuggen eines Inproc Comservers mit Delphi 6 prof.

Ich kann in der Funktion, die das Interface implementiert, keinen Breakpoint setzen.
D.h. ich kann den Breakpoint setzen, aber er wird als ungültig angezeigt (gelbes X).
Die habe extra nocheimal per per Hand regestriert, um sicherzugehen, daß sie aus dem richtigen Verzeichnis geladen wird.

Die integrierte Fehlersuche ist aktiviert. Unter Compiler/Debuggen sind alle Kästchen aktiviert, die Optimierung ist ausgeschaltet. Unter den Linker Optionen habe ich "mit T32Debug Info" angehakt, soweit "mit ext. Debug-Symbolen" aktiviert.

Im Comclient kann ich die Breakpoints ganz normal setzen, allerdings kann ich nicht vom Client in den Server "reinsteppen".

Bin für jede Hilfe dankbar!

Bernhard Geyer 16. Jan 2006 20:27

Re: Delphi 6 Inproc Comserver debuggen
 
Zitat:

Zitat von delphirocks
Im Comclient kann ich die Breakpoints ganz normal setzen, allerdings kann ich nicht vom Client in den Server "reinsteppen".

Ich glaub das ist der Debugger überfordert. Mit "normalen" DLL's könnte es gehen aber nicht bei COM-DLL's. Da liegt noch eine Schicht Windows dazwischen so das der Debugger es schwer hat zu erkennen das es evtl. die DLL auch debuggen könnte.

Mach halt den InproServer als aktives Projekt und geh über den Menüpunkt "Start/Parameter" und wähle als Host-Anwendung dein Exe. Dann kannst du zwar nicht in der Exe debuggen aber in der DLL.

delphirocks 16. Jan 2006 21:10

Re: Delphi 6 Inproc Comserver debuggen
 
Ich hab's auf beide Arten versucht.
In der Projektgruppe befinden sich sowohl Client als auch Server.
Als "aktives Projekt" setze ich die dll. Normalerweise hat das auch immer funktioniert, nach dem Neuaufsetzen des Rechners (vorher Win2000, jetzt WinXP) funktioniert dies auf einmal nicht mehr.
Vielleicht verträgt sich ja auch der D6 Debugger mit XP nicht ?

Bernhard Geyer 17. Jan 2006 07:28

Re: Delphi 6 Inproc Comserver debuggen
 
Zitat:

Zitat von delphirocks
Ich hab's auf beide Arten versucht.
In der Projektgruppe befinden sich sowohl Client als auch Server.
Als "aktives Projekt" setze ich die dll. Normalerweise hat das auch immer funktioniert, nach dem Neuaufsetzen des Rechners (vorher Win2000, jetzt WinXP) funktioniert dies auf einmal nicht mehr.
Vielleicht verträgt sich ja auch der D6 Debugger mit XP nicht ?

Könnte schon sein da D6 vor XP auf dem Markt kam und ja mit allen SP's/Hotfixe eh das Betriebssystem schon komplett ausgetauscht wurde zur auslieferung. Kannst Du eine kleines Test-Projekt erstellen wo man das nachvollziehen kann (Hab nur eine COM-Exe und da gibt es keine Probleme.

Noch 'ne Idee: lade die DLL zusätzlich beim Programmstart der Exe hart über eine Dummy-DLL-Funktionverweis.

delphirocks 17. Jan 2006 07:55

Re: Delphi 6 Inproc Comserver debuggen
 
Danke nocheinmal für eure Antworten,

Ich hab's jetzt gefunden.

Es wurde doch die falsche Dll (die im System32 Verzeichnis) geladen, und die hatte natürlich keine Debug-Infos. Unter "Ansicht/Debuginfos/Module" sieht man eh schön, welche Module geladen werden.
Komisch ist nur, daß die dll aus dem System32 Verzeichnis genommen wird, obwohl ich die gewünschte dll extra noch per Commandline registriert habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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