Erstellen Sie einfach gdb mit Unterstützung der Zielplattform neu. Sie können dafür Cygwin verwenden. Beispiel für eine RHEL-Zielplattform:
> wget http://ftp.gnu.org/gnu/gdb/gdb-<ver>.tar.xz
> tar -xJvf gdb-<ver>.tar.xz
> mkdir -p gdb-<ver>/build/x86_64-redhat-linux-gnu
> cd gdb-<ver>/build/x86_64-redhat-linux-gnu
> ../../configure --target=x86_64-redhat-linux-gnu
> make && make install
> x86_64-redhat-linux-gnu-gdb.exe --version
Vergessen Sie nicht, danach Ihre Toolchain neu zu konfigurieren. Um den Zielkonfigurationsnamen zu erhalten, können Sie Folgendes verwenden:
> echo ${BASH_VERSINFO[5]}
Jetzt gibt es ein Plugin http://marketplace.eclipse.org/content/direct-remote-c-debugging
Damit können Sie gdb auf dem Server remote über ssh starten. Es kümmert sich um die Pfadzuordnung und andere Dinge.
Sie müssen den gdb-Server nicht remote ausführen
Ich konnte es nicht unter Windows bauen, fand es aber ziemlich einfach, es unter Linux zu bauen. Um die @Eugene-Antwort zusammenzufassen und zu vervollständigen:Bereiten Sie zuerst die Quellen vor:
wget http://ftp.gnu.org/gnu/gdb/gdb-<ver>.tar.xz
tar -xJvf gdb-<ver>.tar.xz
mkdir -p gdb-<ver>/build/x86_64-redhat-linux-gnu
cd gdb-<ver>/build/x86_64-redhat-linux-gnu
Windows-Compiler herunterladen:
sudo apt-get install mingw-w64
Überprüfen Sie die Zielkonfigurationsplattform, auf der Sie Ihre Binärdateien debuggen möchten (was Sie in den --target-Parameter eingeben müssen):
echo ${BASH_VERSINFO[5]}
Bereiten Sie Makefiles vor, die auf Ihre gewünschte Plattform ausgerichtet sind, aber auf einem anderen Host ausgeführt werden. Wir kompilieren es statisch, damit es nicht von DLLs oder anderen Bibliotheken abhängt. Außerdem deaktivieren wir das Erstellen anderer Binärdateien, wie das GDB-Wiki vorschlägt:
../../configure --host=x86_64-w64-mingw32 --target=x86_64-pc-linux-gnu --enable-static=yes --disable-interprocess-agent --disable-binutils --disable-ld --disable-gold --disable-gas --disable-sim --disable-gprof
schließlich bauen (dauert etwa 30-60 min):
make LDFLAGS=-static
Sie finden Ihren Debugger im gdb-Ordner. Es ist auch gut, Debugging-Symbole zu entfernen, da das Erstellen einer ausführbaren Datei riesig ist:
strip -s gdb/gdb.exe
Voila! gdb.exe kann unter Windows ausgeführt werden und ausführbare Linux-Dateien remote debuggen!