Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gdb-frontend — ☕ GDBFrontendは、簡単で柔軟で拡張可能なGUIデバッガです。 | Kitploit
ツール/GitHubGitHub/rohanrhu/gdb-frontend
リバースエンジニアリングデバッガバイナリ解析学習と教育
GitHubrohanrhu/gdb-frontend

gdb-frontend

☕ GDBFrontendは、簡単で柔軟で拡張可能なGUIデバッガです。

リポジトリを見る
3.0k1129ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GDBFrontend

GitHub release GitHub issues GitHub forks GitHub stars GDBFrontend Discord Support me on Patreon

GDBFrontendは、簡単で柔軟、かつ拡張可能なGUIデバッガです。

gdb-frontend

インストール

必要条件

  • GDB >= 8.2 (python3対応)
  • python3 >= 3.6
  • tmux

PIPパッケージ (Python Wheel) [推奨]

GDBFrontendは pip でインストールできます。

root@kitploit:~
sudo python3 -m pip install gdbfrontend

既にインストール済みでアップグレードする場合

root@kitploit:~
sudo python3 -m pip install --upgrade gdbfrontend

特定のGITスナップショットをインストールしたい場合:

root@kitploit:~
sudo python3 setup.py install

そして、次のコマンドで実行できます

root@kitploit:~
gdbfrontend

GITから実行

最新のソースをダウンロードして実行できます。

gdb-frontendは以下のコマンドで実行できます:

root@kitploit:~
git clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend
cd gdb-frontend
./gdbfrontend

そして、次のURLで開けます:

root@kitploit:~
http://127.0.0.1:5550/

GDBシェルは以下のコマンドで開けます:

root@kitploit:~
tmux a -t gdb-frontend

Arch Linux (AUR)

ArchベースのディストリビューションではArch Linuxパッケージをインストールできます。(AURパッケージ)

root@kitploit:~
yay -S gdb-frontend-bin

そして、次のコマンドで実行できます:

root@kitploit:~
gdbfrontend

Flatpak

FlatpakパッケージはTODOです。

GDBFrontendでDocker化されたC/C++アプリをデバッグする

このチュートリアルに従って、GDBFrontendでDocker化されたC/C++アプリをデバッグする方法を学びます。

GDBFrontendによる組み込みデバッグ

このクイックチュートリアルに従って、GDBFrontendで組み込みデバイスをデバッグします。

GDBFrontendによるPython C拡張のデバッグ

このクイックチュートリアルに従って、GDBFrontendでネイティブなC Python拡張をデバッグします。

GDBFrontendプラグインの開発方法

GDBFrontendには強力で拡張可能なAPIがあります。このクイックチュートリアルに従って、GDBFrontendプラグインの開発を学びます。

MakefileにGDBFrontendを統合する方法

このクイックチュートリアルに従って、特別な開発・デバッグ要件のための統合アイデアを学びます。

Linux上でのOpenOCD、GDB、GDBFrontendを使ったSTM32デバッグ

このチュートリアルに従って、OpenOCDとGDBFrontendでSTM32をデバッグします。

機能

式評価器

GDBFrontendには式評価器があり、同時に複数使用できます。

ポインタの可視化

連結リストの可視化

条件付きブレークポイント

ブレークポイントを右クリックして条件を設定します。

接続された式

すべての変数、メンバー、アイテムの式は、GDBFrontendのVariablesExplorerで接続されています。

プロセスマネージャー

プロセスマネージャーでプロセスを監視、フィルタリング、管理できます。

配列グラフの可視化

強化されたコラボレーション

GDBFrontendには「強化されたコラボレーション」と呼ばれるコラボレーション機能がいくつか用意されています。

コラボレーション描画

強化されたコラボレーションを有効にすると、コラボレーション描画が利用可能になります。描画するには「描画」をクリックするか、Ctrl + Shift + X ショートカットを使用します。Ctrl + Shift + C ですべての描画をクリアします。

同期ソース表示

強化されたコラボレーションにより、すべてのデバッガクライアントがソース表示で同期されます。

式ホバーポップアップ変数エクスプローラー

拡張性

GDBFrontendは非常に拡張性が高く、強力なAPIを備えています。GDBFrontendの拡張性の例をいくつか示します。

./gdbfrontend

root@kitploit:~
$ gdbfrontend --help
GDBFrontendは、簡単、柔軟、拡張可能なGUIデバッガです。

オプション:
  --help, -h:                                   このヘルプメッセージを表示します。
  --version, -v:                                バージョンを表示します。
  --gdb-args="ARGS", -G "ARGS":                 GDBのコマンドライン引数を指定します。(オプション)
  --gdb-executable=PATH, -g PATH:               GDB実行ファイルのパスを指定します。(デフォルトはPATH環境変数の"gdb"コマンド)
  --tmux-executable=PATH, -tmux PATH:           tmux実行ファイルのパスを指定します。(デフォルトはPATH環境変数の"tmux"コマンド)
  --terminal-id=NAME, -t NAME:                  tmuxターミナル識別子の名前を指定します。(デフォルトは"gdb-frontend")
  --credentials=USER:PASS, -c USER:PASS:        デバッガにアクセスするためのユーザー名とパスワードを指定します。
  --host=IP, -H IP:                             HTTPサーバーとWSサーバーにアクセス可能な現在のホストアドレスを指定します。
  --listen=IP, -l IP:                           HTTPサーバーとWSサーバーの待受アドレスを指定します。
  --port=PORT, -p PORT:                         HTTPポートを指定します。(0はランダムポート)
  --url-base=PATH, -u PATH:                     URLベースパスを指定します。(デフォルト: /)
  --readonly, -r:                               コードエディタを読み取り専用にします。(注意: このオプションはセキュリティには関係ありません)
  --workdir, -w:                                作業ディレクトリを指定します。
  --plugin-dir, -P:                             プラグインディレクトリを指定します。
  --dontopenuionstartup, -D:                    起動直後にUIを開かないようにします。
  --verbose, -V:                                詳細な出力を有効にします。

オプション

--help, -h

ヘルプテキストを表示します。

--version, -v

バージョンを表示します。

--gdb-args="ARGS", -G "ARGS"

GDBのコマンドライン引数を指定します。(オプション)

--gdb-executable=PATH, -g PATH

gdbfrontend --gdb-executable=/path/to/gdbのようにGDB実行ファイルのパスを指定できます。(オプション)

--tmux-executable=PATH, -tmux PATH

gdbfrontend --tmux-executable=/path/to/tmuxのようにtmux実行ファイルのパスを指定できます。(オプション)

--terminal-id=PATH, -t PATH

gdbfrontend --terminal-id=terminal-nameのようにtmuxターミナルIDを指定できます。(デフォルト: gdb-frontend)

--credentials=USER:PASS, -c USER:PASS

デバッガにアクセスするためのユーザー名とパスワードを指定します。

--host=IP, -H IP

HTTPサーバーとWSサーバーにアクセス可能な現在のホストアドレスを指定します。

--listen=IP, -l IP

HTTPサーバーとWSサーバーの待受アドレスを指定します。

--port=PORT, -p PORT

HTTPポートを指定します。(0はランダムポート)

--url-base=PATH, -u PATH

URLベースパスを指定します。(デフォルト: /)

--readonly, -r

コードエディタを読み取り専用にします。(注意: このオプションはセキュリティには関係ありません)

--workdir, -w

作業ディレクトリを指定します。

--plugin-dir, -P

プラグインディレクトリを指定します。

--dontopenuionstartup, -D

起動直後にUIを開かないようにします。

--verbose, -V

詳細な出力を有効にします。

GDBコマンド

GDBFrontendのGDBコマンドは gf- で始まります。

gf-refresh

すべてのブラウザクライアントをリフレッシュします。

gf-theme [テーマ名]

希望するテーマに切り替えます。例: gf-theme light、gf-theme red、またはデフォルトテーマの場合は gf-theme default。

gf-list-plugins

プラグインディレクトリ内のすべてのGDBFrontendプラグインを一覧表示します。

gf-load-plugin [プラグイン名]

GDBFrontendプラグインをロードします。

gf-unload-plugin [プラグイン名]

GDBFrontendプラグインをアンロードします。

ショートカット / ホットキー

現在のホットキーは以下の通りです。

テーマ

GDBFrontendには組み込みテーマがあります。

テーマを切り替えるには、GDBシェルで gf-theme [テーマ名] コマンドを使用します。

root@kitploit:~
(gdb) gf-theme doki
(gdb) gf-theme sky
(gdb) gf-theme sakura
(gdb) gf-theme waifu
(gdb) gf-theme cyberpunk
(gdb) gf-theme dark
(gdb) gf-theme green
(gdb) gf-theme light
(gdb) gf-theme red

デフォルトのテーマに戻すには:

root@kitploit:~
(gdb) gf-theme

また、プラグイン開発チュートリアルも参照してください。

GDBFrontend Python API

GDBFrontendのPython APIには gdbfrontend モジュールを介してアクセスできます。

root@kitploit:~
(gdb) python-interactive
root@kitploit:~
>>> dir(gdbfrontend)

例えば、すべてのクライアントソケットを次のように取得できます:

root@kitploit:~
>>> gdbfrontend.api.globalvars.httpServer.ws_clients
{1: <server.GDBFrontendSocket object at 0x...>}

または、すべてのプラグインを取得できます:

root@kitploit:~
>>> gdbfrontend.plugin.getAll()
['hello', 'theme_cyberpunk', 'theme_dark', 'theme_doki', 'theme_green', 'theme_light', 'theme_red', 'theme_sakura', 'theme_sky', 'theme_waifu']

セッション共有時のセキュリティ

デバッガセッションにHTTP認証を追加するには、--credentials=USER:PASS オプションを使用できます。

ブラウザ互換性

GDBFrontendは主にChromium系ブラウザでテストしながら開発されています。他のブラウザ、特にFirefoxでも正常に動作しますが、他のブラウザで問題が発生した場合は、バグレポートを送信してください。

トラブルシューティング

GDBシェル/メインスレッドのブロッキング

GDBFrontendのほとんどの関数はスレッドセーフであり、GDBのメインスレッドで動作します。そのため、GDBシェルでブロッキングする何かを実行すると、GDBFrontendの関数はそれが完了するまで待機する必要があります。

スレッドセーフなGDBFrontend関数が動作する必要があるときに、GDBのメインスレッドをブロックしていると、次の警告が表示されます。

root@kitploit:~
(gdb) shell
$ ...

シェルを終了すると、ブロックされていたGDBFrontend関数は動作を続行します。

注: GDBシェルで何も実行していないのにこの警告が表示されることがあります。それは(GDBのイベントループ内で)何かが長時間かかっていることを意味します。この場合はこの警告を無視してください。

ゾンビプロセス

GDBFrontendはサブプロセス、アプリケーション、およびそのサブプロセスにSIGTERMを送信します。アプリケーションが新しいプロセスをフォークしてそのPGIDを設定している場合、GDBFrontendはそれらを閉じられない可能性があります。その場合は、プロセスにSIGKILLを送信する必要があります。

root@kitploit:~
pkill -f gdb

式評価器のパフォーマンスのヒント

非常に深い深さで展開された変数/メンバーを持つ式評価器を使用している場合、ポインタの可視化でスクロールや評価器ウィンドウの移動パフォーマンスが悪影響を受ける可能性があります。その場合は、その評価器ウィンドウのsignalとslotのポインティングをオフにできます。

評価器のポインタ可視化ボタン

GDB関連の問題とヒント

  • GDBは、動的リンクオブジェクトから関数を呼び出す行を一度ステップ実行するまで、動的リンクオブジェクトのソースを提供しない場合があります。 ブレークポイントを行に追加して一度ステップ実行すると、その後セッション中は動的リンクオブジェクトのソースが表示されるようになります。

Windows

実際のところ、gdb-frontendはWindowsでも実行可能ですが、Windows版GDBに深刻な問題があり、Windowsでgdb-frontendを使用することは避けられています。もちろん、Windows 10を使用している場合はWSL上でgdb-frontendを使用できます。

Windows-GDBに関する問題

  • GDBのメインスレッドが実行中のプロセス中にブロックされます。(gdb-frontendにはこれを修正する割り込みメカニズムがありますが、まだ十分ではありません。)
  • Windows-GDBのプロンプトが実行中のプロセス中にブロックされ、アプリケーションの割り込みに関する問題があります。

WSL

gdb-frontendはWSL (Windows Subsystem for Linux) で使用できます。

WSLに関する問題

  • WSL 1では、/proc/net/tcp インターフェースがWSLで機能しないため、ランダムポートオプションは使用できません。(WSL 2ではこの問題はありません。)

バージョニング

v0.2.0-beta以降、GDBFrontendは新しいバージョニング戦略に切り替えました。

バージョンの読み方

vX.Y.Z-STABILITY において:

  • X はメジャーバージョンで、長期的な変更、主要な機能と機能強化が含まれます。
  • Y はメインバージョンで、新しい機能と機能強化が含まれます。
  • Z はメインバージョンのバグ修正リリースです。
  • STABILITY はリリースの安定度レベルです。(alpha、beta、rcN、stable)

ドキュメント

ドキュメントはまだTODOです。

APIドキュメント

APIドキュメントはまだTODOです。

プラグイン開発

プラグイン開発チュートリアルを読むことができます。

テーマ開発

テーマはプラグインとして開発されます。

Discord

Discordコミュニティに参加してください。

GDBFrontend Discord

🎊 貢献

プロジェクトへのコミットやプラグインの開発により貢献できます。すべてのコミットを歓迎します。

貢献ガイド

❤️ 寄付

  • Patreon
  • GitHub Sponsors

暗号通貨による寄付

通貨アドレス
BTCbc1qhvlc762kwuzeawedl9a8z0duhs8449nwwc35e2
ETH / USDT / USDC0x1D99B2a2D85C34d478dD8519792e82B18f861974
XMR88qvS4sfUnLZ7nehFrz3PG1pWovvEgprcUhkmVLaiL8PVAFgfHjspjKPLhWLj3DUcm92rwNQENbJ1ZbvESdukWvh3epBUty

できればUSDTまたはUSDCの寄付をお勧めしますが、上記の通貨のいずれでも寄付できます。🥳

ライセンス

Copyright (C) 2019, Oğuzhan Eroğlu [email protected] (https://oguzhaneroglu.com/)

GNU General Public License v3 (GPL-3)

ソフトウェアのコピー、配布、および変更は、ソースファイルの変更日を追跡する限り許可されます。GPLライセンスのコードの変更またはソフトウェア(コンパイラ経由を含む)は、ビルドおよびインストール手順とともにGPLの下で利用可能にしなければなりません。

ツールをダウンロード
アクションホットキーコンテキスト
一般: ソースファイルを開くCtrl + OGDBFrontend
一般: 新しい式評価器を開くCtrl + RGDBFrontend
一般: 新しい式評価器をネイティブウィンドウで開くCtrl + Shift + RGDBFrontend
一般: ファジーソースファインダーCtrl + PGDBFrontend
実行: 実行F5GDBFrontend
実行: 続行F6GDBFrontend
実行: 一時停止/中断F7GDBFrontend
実行: ステップオーバーF8GDBFrontend
実行: ステップインF9GDBFrontend
実行: ステップ命令F10GDBFrontend
実行: 停止F11GDBFrontend
強化されたコラボレーション: 描画モードの切り替えCtrl + Shift + XGDBFrontend / 強化されたコラボレーション: 有効
強化されたコラボレーション: すべての描画をクリアCtrl + Shift + CGDBFrontend / 強化されたコラボレーション: 有効