11 Stimmen

Delphi 2010 Remote-Debugging - Haltepunkte können nicht aktiviert werden

Ich habe vor kurzem veröffentlicht diese Frage über meine Unfähigkeit, Delphi 2010 mit Remote-Debugging zum Laufen zu bringen. Ich hatte keinen Erfolg und beschloss, eine einfache Schritt-für-Schritt-Testtechnik zu posten, die aufzeigen könnte, was ich falsch mache. DIES IST WIRKLICH WICHTIG für mich - ich benutze Delphi seit V1.0 und verdiene damit meinen Lebensunterhalt. Wenn ich so feststecke, ist das eine Qual und hält mich bei Delphi 7.

Wie auch immer, es geht los.

  1. Stellen Sie sicher, dass Delphi 2010 über die Updates 4 und 5 verfügt.

  2. Starten Sie Delphi 2010, dann Datei | Neu | VCL Forms App. Fügen Sie eine Schaltfläche in das Formular ein und fügen Sie im OnClick-Ereignis der Schaltfläche "ShowMessage( 'Hallo' )" ein. Speichern Sie das Projekt und seine Unit in einem lokalen Ordner " C:\scratch ". Erstellen Sie das Projekt, führen Sie es aus, klicken Sie auf die Schaltfläche, "hallo" erscheint, alles in Ordnung.

  3. Erstellen Sie auf einem vernetzten PC (194.168.1.64) einen neuen Ordner "c: \DebugTest " und teilen Sie es mit R/W-Zugriff.

  4. Installieren Sie auf 194.168.1.64 den Remote-Debugger aus dem neuesten Download von der Embarcadero-Website (RemoteDebugger_upd2.exe). Klicken Sie zum Ausführen auf rmtdbg140.exe. Akzeptieren Sie die Meldung zum Aufheben der Blockierung durch die Firewall.

  5. Bearbeiten Sie die Compiler-Einstellungen der DEBUG-Konfiguration mit Output directory= \192.168.1.64\DebugTest und Ausgabeverzeichnis der Einheit = c: \scratch - siehe Compiler settings

  6. Bearbeiten Sie die Verknüpfungseinstellungen und setzen Sie Debug-Informationen=True, Remote-Debug-Symbole einbeziehen=True. Siehe Linking settings

  7. Belassen Sie die Kompiliereinstellungen auf den Standardwerten. Siehe Compiling settings

  8. Führen Sie einen vollständigen Aufbau durch. Die relevanten Projekt-Exe-Dateien "project2.exe" und "project2.rsm" erscheinen im Remote-Ordner \192.168.1.64\DebugTest. Die blauen Punkte sind in Unit2 in der IDE sichtbar.

  9. Setzen Sie einen Haltepunkt in der Zeile "ShowMessage" (das OnClick-Ereignis der Schaltfläche).

  10. Verwenden Sie 'Run' | 'Load Process' mit Remote path=c: \DebugTest\Project2.exe , Remote Host=192.168.1.64 und Arbeitsverzeichnis=c: \DebugTest siehe Load Process remote tab

  11. Klicken Sie auf "Laden". Der sichtbare Haltepunkt wird sofort deaktiviert, das Projekt beginnt zu laufen, öffnet das CPU-Fenster und stoppt. Wenn Sie f9 drücken, wird die Exe auf dem entfernten Rechner vollständig ausgeführt, die Schaltfläche funktioniert, Sie können sie nur nicht debuggen.

Ich habe verschiedene "offensichtliche" Dinge versucht, wie z. B. die Firewall zu deaktivieren, aber alles ohne Erfolg. Könnte eine freundliche Person weitere Ideen vorschlagen?

Vielen Dank!

6voto

Brian Frost Punkte 13154

Nun, für mich ist das Problem jetzt gelöst, wenn auch als "Workaround" und nach erheblicher Interaktion mit Embarcadero und einem Upgrade auf XE (das auch nicht funktionierte).

Es hat den Anschein, dass der Remote-Debugger beim Laden von rsm-Dateien (Remote-Symbole) unzuverlässig (oder vielleicht auch nur pingelig) ist - es wird noch untersucht, warum meine nicht geladen werden. Meine rsm-Datei ist mit rund 50Mb groß, obwohl dies kein Problem für den Remote-Debugger von Delphi 7 ist.

Die Lösung bestand darin, auf Delphi XE zu aktualisieren und dann die Compiler-Link-Option "Place Debug Information in separate TDS-Datei" zu wählen. Dies scheint eine tds-Datei auf dem Remote-Ziel anstelle einer rsm-Datei zu erstellen und Haltepunkte funktionieren dann gut.

Ich habe meine rsm- und tds-Dateien an Embarcadero geschickt, um herauszufinden, warum das passiert.

5voto

netcodecz Punkte 312

Welches Windows-Betriebssystem? Führen Sie vielleicht rmtdbg140.exe als Administrator aus.

Ich führe das D2010-Ferndebugging unter XP gegenüber XP aus. Mein How-To ist unter http://blog.runbits.com/post/Remote-debugging-Delphi.aspx

0voto

smndk Punkte 1

Ich hatte dieses Problem. Die Installation von Update 4 für Delphi 2010 hat mein Problem gelöst. Es ist auch in der Liste der behobenen Probleme von Update 4 aufgeführt.

0voto

Marko Punkte 1

Es ist unbedingt erforderlich, dass die Zeitzone und die Uhr auf dem entfernten System richtig eingestellt sind. In meinem Fall habe ich Remote-Debugging eingerichtet, und wenn ich den Prozess lade, werden die Haltepunkte grün. Ich überprüfte die Zeitzone und die Uhr des entfernten Systems, stellte sie richtig ein und der Remote-Debugger funktionierte wieder.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X