リモートデバッグ
リモートデバッグ 構成を使用すると、 gdbserver または lldb-server でリモートデバッグできます。 デバッグ情報を含む実行可能ファイルがすでにあり、RustRover にプロジェクトのビルドをさせる必要がない場合は、この構成を使用してください。 この構成は、特定のビルドシステムまたはプロジェクト形式に依存しません。
リモートデバッグ構成を使用すると、 任意のビルドシステムでビルドされたアプリケーションをリモートでデバッグできます。 必要なのは、デバッグシンボルがローカルマシン上に存在していることだけです。
ターゲットプラットフォーム
gdbserver をサポートしている場合、ターゲット環境に制限はありません。
プログラムは、 Raspbian OS (Raspberry Pi OS ガイドを参照)などの Linux ベースの組み込み OS を含む任意の OS、クラウドプラットフォーム、または Docker コンテナ内でリモート実行できます。 リモート gdbserver プロトコルに準拠した GDB スタブ に接続できます。たとえば、OS カーネルをデバッグするための Qemu や、フラッシュ済みファームウェアをデバッグするための OpenOCD です。
デフォルトでクライアントデバッガーとして使用される RustRover にバンドルされた GDB は、 マルチアーキテクチャ サポートで構築されているため、さまざまな Linux/Windows/macOS や組み込み環境でのリモートクロスプラットフォームデバッグに適しています。 サポートされているターゲットの完全なリストは以下を参照してください。
バンドルされた GDB でサポートされているリモートターゲット
macOS、Linux、Android、Apple TV/Apple Watch、および lldb-server をサポートするその他のプラットフォームをターゲットにすることができます。 LLDB ドキュメントの ローカルシステム(英語)を参照する
リモートデバッグの概要
RustRover のホストで、 リモートデバッグ構成を作成します。
ターゲットマシンでバイナリと gdbserver/lldb-server で起動するを準備します。
RustRover のホストで、 デバッグセッションを開始します。
リモートデバッグ構成を作成する
実行 | 実行構成の編集 に移動して
をクリックし、テンプレートのリストから リモートデバッグ を選択します。

クライアントデバッガー (バンドルされた GDB/ バンドルされた LLDB またはカスタム GDB バイナリ) を選択し、対応する設定を指定します。
'target remote' 引数 – リモートシステムのアドレスは次の形式です。
<host>:<port>例:
localhost:9999代替形式(英語)を使用することもできます。
シンボルファイル。 これはデバッグシンボルを含むファイルへのローカルマシンのパスであり、ターゲットで実行中の実行可能ファイルの未ストリップコピー、またはデバッグ情報のみを含む ELF ファイルである場合があります。
最近のバージョンの GDB クライアントは gdbserver からシンボルを自動的に転送できるため、ターゲット上で実行されている実行ファイルがストリップされていないバイナリである場合は、このフィールドを空のままにしておくと、うまく機能する可能性があります。
Sysroot は、GDB クライアントによって、ローカルシステム上のデバッグシンボルを含むターゲットライブラリのコピーにアクセスするために使用され、ブレークポイントを設定したり、ライブラリコード内のソース行を検索したりできるようになります。
「プロセス接続」URL。 次の表記を使用します。
connect://<host>:<port>例:
connect://localhost:9999シンボルファイル。 これはデバッグシンボルを含むファイルへのローカルマシンのパスであり、ターゲットで実行中の実行可能ファイルの未ストリップコピー、またはデバッグ情報のみを含む ELF ファイルである場合があります。
RustRover は g[dbserver] モードで lldb-server を使用しており、すべてのファイルを手動で転送する必要があります。
Sysroot は、LLDB クライアントによって、ローカルシステム上のデバッグシンボルを含むターゲットライブラリのコピーにアクセスするために使用され、ブレークポイントを設定したり、ライブラリコード内のソース行を検索したりできるようになります。
パス マッピング。 このペインを使用して、ホスト上のローカルパス (ローカル 列) にマップされるターゲットマシン上のパス (リモート 列) を指定します。
gdbserver/lldb-server でプログラムをリモートで起動する
ターゲット上でアプリケーションを起動するには、リモートターミナルを使用するか、RustRover に組み込まれた SSH ターミナル を呼び出し、 ポート転送を実行します。
次のコマンドを使用して gdbserver を実行します。
例:

あるいは、シリアルポート経由で接続することもできます。
シリアルライン接続を確立する場合は、代わりにデバイス名を指定します。
リモートマシンで、lldb-server を gdbserver モードで起動します。
例:
macOS では、 debugserver を lldb-server として使用します。
例:
起動すると、gdbserver/lldb-server はエントリポイントでプログラムを一時停止し、クライアントデバッガーが接続されるのを待機します。
リモートデバッグセッションを開始する
RustRover でコードにブレークポイントを配置したら、 リモートデバッグ 構成を選択し、デバッグ セッションを開始します。
RustRover のデバッガーは実行中のリモートプロセスに接続します。

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