ターゲット プラットフォームをサポートする gdb を再構築するだけです。これには Cygwin を使用できます。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
この後、ツールチェーンを再構成することを忘れないでください。ターゲット構成名を取得するには、次を使用できます:
> echo ${BASH_VERSINFO[5]}
現在、プラグインがありますhttp://marketplace.eclipse.org/content/direct-remote-c-debugging
これにより、ssh を介してリモートでサーバー上で gdb を起動できます。パス マッピングなどを処理します。
gdb サーバーをリモートで実行する必要はありません
Windows ではビルドできませんでしたが、Linux では非常に簡単にビルドできました。 @Eugene の回答を要約して完成させるには:まず、ソースを準備します:
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 コンパイラをダウンロード:
sudo apt-get install mingw-w64
バイナリをデバッグするターゲット構成プラットフォームを確認します ( --target パラメータに何を入れるか):
echo ${BASH_VERSINFO[5]}
目的のプラットフォームを対象とするが、別のホストで実行されるメイクファイルを準備します。 DLL や他のライブラリに依存しないように、静的にコンパイルします。また、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
最後に、ビルドします (30 ~ 60 分かかります):
make LDFLAGS=-static
デバッガーは gdb フォルダーにあります。ビルド後の実行可能ファイルは巨大なので、デバッグ シンボルを削除することもお勧めします:
strip -s gdb/gdb.exe
出来上がり! gdb.exe を Windows で実行し、Linux 実行可能ファイルをリモートでデバッグする準備ができました!