gdb for Windows ダウンロード

単独で配っていないようなので
(1) ソースコードを入手して、適当なフォルダに展開します
(2) 自分でビルドします

build gdb for Windows
linuxかcygwinを用意して mingwパッケージをインストールしておきます。

まず デバッガに c:\cygwin\bin\gdb.exe が使えないか試したほうが楽でしょう。

静的コンパイル: Windows

cygwinでWindows用バイナリをコンパイル
10分くらいで出来上がります
今回は gdb-8.0を使いました
make distclean
find . -name config.cache -exec rm {} \;
./configure --host=i686-w64-mingw32 \
--disable-host-shared \
LDFLAGS=" -lintl -static -static-libstdc++"
make
# gdb/gdb.exeがあることを確認
# DOSプロンプトで動くことを確認しましょう。
# フォルダ作成(bin)とコピー
mkdir bin
find . -type f -name "*.exe" -exec cp {} bin/ \;
はい、出来上がりました。
chew.exe gdb.exe gdbreplay.exe gdbserver.exe
が binフォルダに入っていると思います。
gdbを実行しコマンドプロンプトが表示されれば成功です。
「quit」と打つとgdbを終了することができます。

Windows用のIDEにgdb.exeの場所を指定して終了です。

【以下のようなエラーは、動的リンクになっています】

  • コンピューターに libintl-8.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
  • コンピューターに libwinpthread-1.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
解決方法:pathを通すか静的コンパイルすると動きます。

【gccまたは、mingwが古い時のエラー】
  • checking for library containing strerror... configure:
    error: Link tests are not allowed after GCC_NO_EXECUTABLES.
    ターゲット 'configure-libiberty' のレシピで失敗しました
cygwinの場合は、 セットアップを「 setup.exe -o 」で 起動して、管理されていない古いパッケージを削除すると直るかもしれません。
古い i686-pc-mingw32 パッケージを自動削除することで直りました。