CLion 2026.2 Help

リモートデバッグ構成

リモートデバッグ 構成を使用すると、 gdbserver または lldb-server でリモートデバッグできます。 デバッグ情報を含む実行可能ファイルがすでにあり、プロジェクトをビルドするために CLion が必要ない場合は、この構成を使用してください。 この構成は、特定のビルドシステムまたはプロジェクト形式に依存しません。

リモートデバッグ構成を使用すると、 任意のビルドシステムでビルドされたアプリケーションをリモートでデバッグできます。 必要なのは、デバッグシンボルがローカルマシン上に存在していることだけです。

ターゲットプラットフォーム

gdbserver をサポートしている場合、ターゲット環境に制限はありません。

プログラムは、 Raspbian OSRaspberry Pi OS ガイドを参照)、クラウドプラットフォーム、または Docker コンテナ内など、Linux ベースの組み込みを含む任意の OS でリモート実行できます。 リモート gdbserver プロトコルに準拠した GDB スタブ に接続できます。たとえば、OS カーネルのデバッグには Qemu 、フラッシュ済みファームウェアのデバッグには OpenOCD です。

デフォルトでクライアントデバッガーとして使用される CLion にバンドルされた GDB は、 マルチアーキテクチャ サポートで構築されており、多様な Linux/Windows/macOS や組み込みケースでのリモートクロスプラットフォームデバッグに適しています。 サポートされているターゲットの完全なリストは以下を参照してください。

バンドルされた GDB でサポートされているリモートターゲット

i686-pc-mingw32 i686-w64-mingw32 x86_64-w64-mingw32 i686-linux-gnu x86_64-linux-gnu aarch64-linux-gnu alpha-linux-gnu arm-linux-gnu arm-linux-gnueabi arm-linux-gnueabihf hppa-linux-gnu ia64-linux-gnu m68k-linux-gnu m68k-rtems mips-linux-gnu mipsel-linux-gnu mips64-linux-gnu mips64el-linux-gnu powerpc-linux-gnu powerpc-linux-gnuspe

    macOS、Linux、Android、Apple TV/Apple Watch、および lldb-server をサポートするその他のプラットフォームをターゲットにすることができます。 LLDB ドキュメントの ローカルシステム(英語)を参照する

    ワークフローの一般的な手順

    リモート GDB/LLDB デバッグのために実行する手順の簡単な説明を以下に示します。 各ステップの詳細については、次の章で説明します。

    1. デバッグ情報付きバイナリ を準備してください。 必要に応じて、クロスプラットフォームツールチェーンを使用します。

      リモート LLDB の場合、デバッガーはデバッグシンボルやシステムライブラリを自動的にダウンロードしないため、それらはローカルマシン上に存在している必要があります。 macOS から Linux または Linux から macOS へのクロスプラットフォームデバッグの場合は、必要なライブラリとともに提供される musl(英語) (または代替手段) によるクロスコンパイルを使用します。

    2. リモートマシン上のバイナリ を配置 ローカルマシン上のシンボルファイル を配置してください。

      通常、デバッグ実行可能ファイル自体はシンボルファイルとして機能しますが、これは別のファイルでもかまいません。

    3. CLion で、 作成した リモートデバッグ 構成。 指定する設定は、デバッガーがリモートセッション中にブレークポイントで停止できるようにするために重要であるため、構成の設定を再確認することをお勧めします。

    4. リモートマシン上の gdbserver/lldb-server でプログラムを 起動します。

    5. CLion に戻り、ステップ 3 で作成した 構成のデバッグを開始します

    リモートデバッグ構成を作成する

    1. 実行 | 実行構成の編集​ に移動して をクリックし、テンプレートのリストから リモートデバッグ を選択します。

    2. リモート実行 / デバッグ構成

      クライアントデバッガー (バンドルされた GDB/ バンドルされた LLDB、ツールチェーン GDB デバッガーの 1 つ、またはカスタム GDB バイナリ) を選択し、対応する設定を指定します。

      • 'target remote' 引数 – リモートシステムのアドレスは次の形式です。

        <host>:<port>

        例:

        127.0.0.1:1234

        代替形式(英語)を使用することもできます。

      • シンボルファイル。 これはデバッグシンボル付きファイルのローカルマシン上のパスであり、ターゲットで実行されている実行可能ファイルの非ストリップ版や、デバッグ情報のみを含む ELF ファイルである場合があります。

        最近のバージョンの GDB クライアントは gdbserver からシンボルを自動的に転送できるため、ターゲット上で実行されている実行ファイルがストリップされていないバイナリである場合は、このフィールドを空のままにしておくと、うまく機能する可能性があります。

      • Sysroot は、GDB クライアントによって、ローカルシステム上のデバッグシンボルを含むターゲットライブラリのコピーにアクセスするために使用され、ブレークポイントを設定したり、ライブラリコード内のソース行を検索したりできるようになります。

      • 「プロセス接続」URL。 次の表記を使用します。

        connect://<host>:<port>

        例:

        connect://127.0.0.1:1234
      • シンボルファイル。 これはデバッグシンボル付きファイルのローカルマシン上のパスであり、ターゲットで実行されている実行可能ファイルの非ストリップ版や、デバッグ情報のみを含む ELF ファイルである場合があります。

        CLion は g[dbserver] モードで lldb-サーバーを使用するため、すべてのファイルを手動で転送する必要があります。

      • Sysroot は、LLDB クライアントによって、ローカルシステム上のデバッグシンボルを含むターゲットライブラリのコピーにアクセスするために使用され、ブレークポイントを設定したり、ライブラリコード内のソース行を検索したりできるようになります。

      • パスマッピング。 このペインを使用して、ホスト上のローカルパス (ローカル 列) にマップされるターゲットマシン上のパス (リモート 列) を指定します。

    gdbserver/lldb-server でプログラムをリモートで起動する

    ターゲットでアプリケーションを起動するには、リモートターミナルを利用するか、CLion の組み込み SSH ターミナル を呼び出して ポート転送を実行できます。

    次のコマンドを使用して gdbserver を実行します。

    gdbserver <TCP hostname>:<port> <program name & args>
    リモート ssh ターミナル

    あるいは、シリアルポート経由で接続することもできます。

    gdbserver <device name> <program name & args>

    シリアルライン接続を確立する場合は、代わりにデバイス名を指定します。

    LLDB の場合、 lldb-server g *:1234 ./binary のようなコマンドで lldb-server を起動します。

    macOS では、 debugserver を lldb-server として使用します。

    debugserver <host>:<port> <program name & args>

    例:

    debugserver 192.168.1.226:1234 ./binary

    起動すると、gdbserver/lldb-server はエントリポイントでプログラムを一時停止し、クライアントデバッガーが接続されるのを待機します。

      リモートデバッグセッションを開始する

      CLion でコードにブレークポイントを設置したら、 リモートデバッグ 構成を選択し、デバッグ セッションを開始します。

      CLion のデバッガーは実行中のリモートプロセスに接続します。 ターミナルには Remote debugging from host.. メッセージが表示され、デバッガーコンソールでも Debugger connected to.. メッセージを確認できます。

      これで、ローカルで実行されているかのようにコードをインスペクションできます (ステップ実行変数のインスペクションなど)。

      gds/gdbserver によるデバッグ

        共有ライブラリをデバッグする

        共有ライブラリをデバッグするには、ローカルマシンの ~/.gdbinit または .lldbinit に次のコマンドを追加します。 スクリプトへのアクセスと編集の詳細については、「.gdbinit/ .lldbinit 構成ファイルの使用 」を参照してください。

        • GDB に solib-search-paths(英語) を設定する

          ただし、デフォルトでは、このコマンドは、リモートターゲットに接続する前にデバッガーの起動時に実行されます(対応する 問題(英語)を参照)。 これの回避策として、 GDB フック(英語)を使用できます。

          define target hookpost-remote set solib-search-path /path/to/my.so:/path/to/sysroot:/path/to/vendorlibs break main # if you also need the debug sessions to pause at the beginning end

          このように、GDB はリモートターゲットが接続されるたびにフックで指定された set solib-search-path を実行します。

        • LLDB 用の settings set target.exec-search-paths /path/to/libs

        2026 年 7 月 15 日