2008-09-17 12 views
14

Wir verwenden die Eclipse CDT 5 C++ - IDE unter Windows, um eine C++ - Anwendung auf einem Remote-AIX-Host zu entwickeln.Wie funktioniert das Remote-Debugging mit Eclipse CDT ohne gdbserver?

Eclipse CDT kann Remotedebugging mit gdbserver durchführen. Leider wird gdbserver unter AIX nicht unterstützt.

Kennt jemand eine Möglichkeit, mit Eclipse CDT ohne gdbserver remote zu debuggen? Vielleicht mit einer SSH-Shell-Verbindung zu gdb?

+0

Mit 'gdbserver': https://stackoverflow.com/questions/15685104/remote-debugging-c-applications-with-eclipse-cdt-rse-rdt/45658783#45658783 –

Antwort

1

Ich würde normalerweise nicht im Dunkeln auf eine Frage schießen, die ich nicht wirklich testen kann, aber da diese einen Tag herumgesessen hat, werde ich es versuchen. Es scheint aus der Betrachtung:

http://wiki.eclipse.org/TM_and_RSE_FAQ#How_can_I_do_Remote_Debugging_with_CDT.3F

... dass selbst wenn das CDT, da diese Wiki-Seite gemacht wurde geändert hat, sollten Sie noch in der Lage sein, den Debug-Befehl zu ändern:

ssh entfernter_host gdb

anstelle von TM, die gdbserver verwendet. Dies wird wahrscheinlich etwas langsamer sein als das TM-Remote-Debugging, da hier tatsächlich ein lokales gdb verwendet wird, aber andererseits müssen Sie auf diese Weise NFS oder SMB nicht Ihren Quellcode mounten, um ihn dem lokalen Debugger zur Verfügung zu stellen Du bist in einem LAN, es wird wahrscheinlich sowieso nichts ausmachen).

Es gibt auch eine Referenz TCF-Implementierung für Linux, die Sie können oder kein Glück für AIX neu zu kompilieren haben, aber es ermöglicht Remote-Debugging, wenn gdbserver sonst nicht verfügbar ist:

http://wiki.eclipse.org/DSDP/TM/TCF_FAQ

0

auch versucht, remote debuggen einer aix-appl mit windows eclipse-cdt-gdb. Wurde am Ende mit Unix/Windows Pfad-Probleme blockiert. Vielleicht kann dir mein Ergebnis weiterhelfen - vielleicht hast du es schon geschafft. Ich bin an Ihrem Kommentar interessiert. gefragt auf Eclipse News Portal - nach der Antwort von Martin Oberhuber (danke nochmal) versuchte dsp dd (auch mit Pfadproblem blockiert) und eine Anfrage in Eclipse Bugzilla.

hier den Link zur News: http://www.eclipse.org/newsportal/article.php?id=406&group=eclipse.dsdp.tm Hier mein Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=252758

Im Moment noch wir debuggen localy mit xldb aber ich versuche, ddd-GDB im Moment. Zumindest lokal gdb läuft.

11

endlich habe ich gdb jetzt sowieso remot laufen lassen. Bei dem Bug-Symbol in der Taskleiste habe ich Debug Configurations - GDB Hardware Debugging genommen.

In Main C/C++ - Anwendungen habe ich den vollständigen Pfad auf der Samba-Freigabe der ausführbaren Datei (X:\abin\vlmi9506) festgelegt. Ich habe auch einen verknüpften Ordner auf X:\abin im Projekt festgelegt. Dann habe ich mein Batch-Skript im GDB Setup geändert. Es ruft nicht direkt gdb in der Plink-Session auf, sondern ein Unix-Shell-Skript, welches gdb öffnet. Dadurch habe ich die Möglichkeit einige Unix-Umgebungsvariablen für das Programm zu setzen, bevor das Debugging durchgeführt wird. Der Aufruf in meinem Batch:

plink.exe prevoax1 -l suttera -pw XXXXX -i /proj/user/dev/suttera/vl/9506/test/vlmi9506ddd.run 20155 dev o m 

im Unix-Skript begann ich gdb mit der Kommandozeile params von Eclipse, dass ich in meinem früheren tryals gefunden.Der Aufruf im Shell-Befehl sieht so aus:

gdb -nw -i mi -cd=$LVarPathExec $LVarPathExec/vlmi9506 

Dann gibt IBM nur gdb 6.0 für AIX. Ich fand Version 6.8 im Netz bei http://www.perzl.org/aix/index.php?n=Main.Gdb. Unser Admin hat es installiert.

Ich kann jetzt durch das Programm und Variablen beobachten. Ich kann sogar gdb-Befehle direkt in der Konsolenansicht schreiben. yabadabadooooooo

Hoffe, dass auch anderen hilft. Kann nicht sagen, was wirklich die Gewinneraktion war. Aber jede Antwort gibt mehr neue Fragen. Jetzt habe ich 3 von ihnen.

  1. Wenn ich die Debug-Konfiguration starte, muss ich auf Neustart in der Symbolleiste klicken, um wirklich in der Hauptprozedur zu kommen. Ist es möglich direkt in main zu kommen ohne neu zu starten?
  2. Unter AIX werden unsere Programme zuerst für Embedded SQL vorverarbeitet. Die vorverarbeitete c-source wird in ein anderes Verzeichnis gestellt. Wenn ich auf die Linie klicke, um einen Haltepunkt zu setzen, erhalte ich die Warnung "nicht aufgelöster Haltepunkt" und in der gdb-Konsole sehe ich, dass die Pause auf die vorverarbeitete Quelle gesetzt ist, die falsch ist. Ist es möglich, die Haltepunkte an der richtigen Quelle zu setzen?
  3. Wir verwenden CICS unter AIX. Mit dem xldb-Debugger und dem CDCN-Befehl von CICS verwalten wir, dass das Debuggen gestartet wird, wenn wir in unsere Programme kommen. Ist es möglich, das auch mit gdb-eclipse aus der Ferne zu bekommen?
+2

+1 für diesen Mist mit in Betrieb – Eric