Reconstruisez simplement gdb avec la plate-forme cible prise en charge. Vous pouvez utiliser Cygwin pour cela. Exemple pour la plate-forme cible RHEL :
> 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
N'oubliez pas de reconfigurer votre chaîne d'outils après cela. Pour obtenir le nom de la configuration cible, vous pouvez utiliser :
> echo ${BASH_VERSINFO[5]}
Il existe maintenant un pluginhttp://marketplace.eclipse.org/content/direct-remote-c-debugging
Ce qui vous permet de lancer gdb sur le serveur à distance via ssh. Il s'occupe de la cartographie des chemins et d'autres choses.
Vous n'avez pas besoin que le serveur gdb s'exécute à distance
Je n'ai pas réussi à construire sous Windows, mais j'ai trouvé assez facile de le construire sous Linux. Pour résumer et compléter la réponse d'@Eugene :Premièrement, préparez les sources :
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
Télécharger le compilateur Windows :
sudo apt-get install mingw-w64
Découvrez la plate-forme de configuration cible sur laquelle vous souhaitez déboguer vos fichiers binaires (ce qu'il faut mettre dans le paramètre --target) :
echo ${BASH_VERSINFO[5]}
Préparez des makefiles ciblés pour la plate-forme souhaitée mais exécutés sur un hôte différent. Nous le compilons de manière statique afin qu'il ne dépende d'aucune DLL ou d'autres bibliothèques. Nous désactivons également la construction d'autres fichiers binaires comme le suggère gdb wiki :
../../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
enfin, construire (prend environ 30 à 60 min) :
make LDFLAGS=-static
Vous pouvez trouver votre débogueur dans le dossier gdb. Il est également bon de le débarrasser des symboles de débogage car après la construction, l'exécutable est énorme :
strip -s gdb/gdb.exe
Voilà! gdb.exe prêt à fonctionner sous Windows et à déboguer à distance les exécutables Linux !