リモートデバッグ
gdbserver/lldb-server を使ったリモートデバッグは、ターゲット上でのビルドが高コストまたは利用できない場合に特に便利です。バイナリをターゲットに配置し、 gdb サーバー または lldb サーバー で起動した後、CLion から接続することで、プログラムをローカルで実行しているかのように、完全な IDE のデバッグ体験が得られます。
CLion は、リモート gdbserver/lldb-server デバッグ用に、 リモート GDB サーバー (GDB のみの場合)と リモートデバッグ (GDB と LLDB の両方)の 2 つの構成を提供します。
CMake プロジェクトで作業する場合、および CLion でバイナリを自動的にビルドしてリモートマシンにアップロードする場合は、 リモート GDB サーバー を使用します。 この構成では、 gdbserver の下でプログラムが起動されるため、手動で実行する必要はありません。
実行可能ファイルとシンボルファイルがすでにある場合は、 リモートデバッグ を使用します。 この構成は、特定のビルドシステムまたはプロジェクト形式に依存しません。 ファイルを同期し、 gdbserver/lldb-server でプログラムを手動で起動する必要があることに注意してください。
システムと IDE の設定
リモートデバッグ | リモート GDB サーバー | |
|---|---|---|
ローカル OS | GDB 用の macOS/Linux/Windows; LLDB の macOS/Linux | macOS/Linux/ ウィンドウ |
リモート OS | GDB の gdbserver をサポートするすべての OS。 macOS/Linux または LLDB をサポートする別の lldb サーバー | gdbserver および SSH をサポートするすべての OS |
接続プロトコル | TCP/UDP またはシリアル回線 | TCP/UDP またはシリアル回線。 アップロード用の SSH |
必要なツール | ターゲット上の gdbserver または lldb-server(英語) | ターゲット上の gdbserver |
ソースの場所 | ローカル ; シンボルファイルもローカルに配置 | ローカル |
同期 | 手動 | バイナリの自動 |
ビルド | 指定なし | ローカル (クロスコンパイルが必要) |
実行 / デバッグ | プログラムは gdbserver/lldb-server でリモートで実行されます。 CLion の GDB/LLDB は実行中のプロセスに接続し、ローカルでデバッグします | プログラムは gdbserver でリモートで実行されます。 CLion の GDB は実行中のプロセスに接続し、ローカルでデバッグします |
プロジェクトレベル設定
リモートデバッグ | リモート GDB サーバー | |
|---|---|---|
プロジェクトフォーマット | 任意 | CMake |
ツールチェーン | 指定なし | macOS/Linux のデフォルト。 Windows 上の MinWG、Cygwin、WSL。 リモートおよび Docker ツールチェーンも利用可能 |
パスマッピング | 自動的に作成されない 実行 / デバッグ構成で設定する必要があります | 自動的に作成されない 実行 / デバッグ構成で設定する必要があります |