Menu Content/Inhalt
Startseite arrow Blog arrow Delphi Remote Debugging System
Delphi Remote Debugging System PDF Drucken
Geschrieben von Christian Wimmer   
Sunday, 13. August 2006

Wie man das Remote Debugging System mit Delphi nutzt

 

Diese Anleitung zeigt Schritt für Schritt, wie man mit Delphi 7 auf einem anderen PC sein Programm ferngesteuert debuggt.


 

Schritt 1. : Netzwerk einstellen

Damit die Fernsteuerung funktioniert muss ein TCP/IP Netzwerk vorhanden sein, dass zwischen
dem Server (dort wo das Programm ausgeführt werden soll) und dem Client (der PC auf dem Delphi läuft) fungiert.
Für Server und Client sind IP oder DNS-Namen für die einwandfreie Identifizierung erforderlich.

 

Schritt 2. : Server installieren

Auf der Delphi 7 CD existiert das Verzeichnis “rdebug”, in dem das “Remote Debugger Server”-Setup
liegt. Insta
lliere es auf dem PC, an dem später deine Anwendung ausgeführt werden soll.
Dazu muss kein Delphi installliert worden sein.
Nach erfolgreichem Installieren erstelle eine Verknüpfung der Datei “BORdbg70.exe” und
editiere deren Eigenschaft “Ziel” folgendermasen :

...\BORdbg70.exe -listen”
Damit wird der Remote Debugger Server in der Tray-Icon Leiste (die Wanze neben der Uhr ganz links) sichtbar.



Schritt 3. : Client vorbereiten

Damit der Server dein Programm ausführen kann, muss er auf die Exe-Datei zugreifen können.
Unter Windows geht das über die Netzwerk-Freigabe.
Dazu muss das Verzeichnis, welches als Ausgabe-Verzeichnis in Delphi definiert wurde erstmal freigegeben werden.
Unter Menü “Projekte / Optionen” im Karteireiter “Verzeichnisse/Bedingungen” sieht man das zu freigebende Verzeichnis :

Ich habe es hier gespeichert :

Die Freigabe erfolgt durch ein Rechtsklick auf “Remotetest” und im Menü bei “Freigabe”.
Das kann dann so aussehen:

Um auf die Anwendung zugreifen zu können, ist dann folgender UNC-Pfad erforderlich :
\\PC-Name\remotetest\project1.exe
PC-Name kann dann entweder eine IP oder DNS-Name sein

Da mein Client den Namen Decipator besitzt, verwende ich “\\Decipator\remotetest\project1.exe”

Schritt. 4 : Delphiprojekt einstellen


Wenn dein Projekt geladen wurde, stelle unter Menü “Start / Parameter” im Karteireiter “Extern” folgendes ein :



Der “Externe Pfad” gibt an, wo die Anwendung zu finden ist, die ausgeführt werden soll.
In Schritt 3. : Client vorbereiten wurde dieser Ausgabepfad definiert.und für das Netzwerk freigegeben.
Er ist vom Remote-Computer aus sicht- und verwendbar.
Wichtig an dieser Stelle ist es einen Haken bei “Fehlersuche auf externem System” zu machen, damit der Remote-Debugger angesprochen wird.

Der “Externe Host” ist die Addresse (IP oder DNS) des Server Computers, auf dem der RemoteDebugger und später die Anwendung läuft.

Die ferngesteuerte Fehlersuche ist somit weitgehend fertig. Es fehlt nur noch, dem lokalem Debugger mitzuteilen, externe Debug-Symbole zu erzeugen.
Dies wird im Menü “Projekt / Optionen” im Karteireiter “Linker” unter “Mit ext. Debug-Symbolen” eingestellt.


Schritt. 5 : Ausführung
Nun kann man wie gewohnt, seine Anwendungen debuggen. Der Unterschied besteht nur darin, dass die Anwendung auf
dem Remote-System gestartet wird.

1.Zusatz
+Ich habe auf beiden Computern Windows XP installiert – Windows98 sollte dito funktionieren.

+Man kann den RemoteDebugger unter Windows NT auch als Dienst starten, dann muss allerdings die Anwendung auf dem Server-PC
liegen, weil die Dienste auf keine Windows-Netzwerk-Freigabe Zugriff haben.

2.Zusatz:
+Leider konnte ich den Remote-Debugger nicht mit Delphi 5 in Gang bekommen.

Es sieht so aus, als ob der Remote-Debugger und Delphi von derselben CD kommen müssen, um miteinander zu funktionieren.

+Mit Delphi 6 habe ich keinerlei Erfahrung in diesem Gebiet. Aber vielleicht kann es ja jemand ausprobieren und mir
sagen, ob es gleich oder so ähnlich funktioniert.


Bekannte Fehlerquelle:
1.Wenn der Fehler “Es konnte keine Verbindung mit dem Remote
Debugger aufgebaut werden” oder ähnliches, dann liegt das meist
an fehlerhaften Einstellungen bei Schritt 4. Es sollte dann mal zum Test statt DNS-Namen einfach eindeutige IP-Addressen verwendet werden.
Ein Ping mit “Ping <Ip-Addresse/DNS Name>” in der Kommandozeile gibt darüber Aufschluss, ob überhaupt eine TCP/IP Verbindung besteht.

2.Wer Wingate verwendet, muss “Delphi32.exe” und “Bordbg70.exe” im WingateClient mit “Globalem Zugriff” freigeben.

3.Manchmal funktioniert das Remote-Debugging nicht, und wird durch Fehler wie “Debug Error 29” oder Zugriffsverletzungen abgebrochen.
Woran dies genau liegt, weiß ich selber nicht. Es ist aber ganz hilfreich, ersteinmal ein neues,leeres Projekt zu erstellen, und das Remote-Debugging
damit auszuprobieren. Wenn es dann funktioniert, stimmt eigentlich alles, und es kann nur noch an irgendwelchen Komponenten liegen, die den Remote-Debugger in Bedrängnis führen. Genauso können fehlende DLL Dateien (z.B. Die VCL-Run-Time-Dateien, wenn das Projekt ohne diese kompiliert wurde) unvorhergesehene Fehler auslösen.

4.Unter WindowsNT sind auf beiden Rechnern Administrator- oder Debug-Rechte erforderlich. Was allerdings unter Debugrechte zu verstehen ist, und
was darin alles vorkommt kann ich nicht sagen.

5.Windows NT erfordert für die Netzwerkfreigabe (auf Benutzerebene) Zugriffsrechte für die einzelnen Benutzer.
Damit fremde Computer auf den eigenen zugreifen können, müssen die Computer als Netzwerk-Benutzer angemeldet sein.


Bei Fragen, Fehlern, Wünschen oder Anregungen
schreibe mir.

Dokument Version 1.0 – 6 Dezember 2002

 

Download 

Letzte Aktualisierung ( Sunday, 11. February 2007 )
 
< zurück   weiter >

Neues

Sonntags auf Pro7
Simpsons 17te Staffel
ab

17:30 Uhr

 

Schriftgröße ändern

A+ | A- | Reset

Zählstand



Last updated : 2008-10-26 23:40:58
designed by www.madeyourweb.com