Simplemente reconstruya gdb con el soporte de la plataforma de destino. Puede usar Cygwin para esto. Ejemplo para la plataforma de destino 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
No olvide volver a configurar su cadena de herramientas después de esto. Para obtener el nombre de la configuración de destino, puede usar:
> echo ${BASH_VERSINFO[5]}
Ahora hay un complementohttp://marketplace.eclipse.org/content/direct-remote-c-debugging
Lo que le permite iniciar gdb en el servidor de forma remota a través de ssh. Se ocupa del mapeo de rutas y otras cosas.
No necesita que el servidor gdb se ejecute de forma remota
No pude compilar en Windows, pero me resultó bastante fácil compilarlo en Linux. Para resumir y completar la respuesta de @Eugene:Primero, prepare las fuentes:
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
Descargar compilador de Windows:
sudo apt-get install mingw-w64
Consulte la plataforma de configuración de destino en la que desea depurar sus archivos binarios (qué poner en el parámetro --target):
echo ${BASH_VERSINFO[5]}
Prepare makefiles dirigidos a su plataforma deseada pero ejecutándose en un host diferente. Lo compilamos estático para que no dependa de ninguna DLL u otras bibliotecas. También deshabilitamos la construcción de otros binarios como sugiere 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
finalmente, construya (toma como 30-60 min):
make LDFLAGS=-static
Puede encontrar su depurador en la carpeta gdb. También es bueno quitarle los símbolos de depuración ya que después de construir el ejecutable es enorme:
strip -s gdb/gdb.exe
¡Voila! ¡gdb.exe listo para ejecutarse en Windows y depurar ejecutables de Linux de forma remota!