gdbリモートデバッグ時にrunとcontinueコマンドが実行できない
gdbでリモートデバッグするとき、runやcontinueコマンドが実行できない場合、以下のような原因が考えられます。
- 接続の問題:最初にリモートの宛先に接続できたか確認してください。target remoteコマンドを使用してリモートの宛先に接続できます。例:target remote IP:ポート
- デバッガが開始されませんでした。ターゲット上のgdbserverを必ず開始してください。gdbserverコマンドを使用してgdbserverを開始できます。例:gdbserver –multi :ポート 実行ファイル
- 実行ファイルが存在しないか、無効です: リモートのターゲットでは、実行ファイルパスが正しく、ファイルが有効であることを確認してください。fileコマンドを使用して、実行ファイルのパスを指定できます。たとえば、「file /path/to/executable」となります。
- ブレークポイントの問題: ブレークポイントが設定されていて有効であるか確認します。break コマンドを使用してブレークポイントを設定できます。たとえば、break function_name です。
- プログラムが終了済み:プログラムがリモートターゲット上に実行が完了している場合、runやcontinueコマンドは実行できません。info programコマンドを使用して、プログラムの状態を確認できます。プログラムが終了していれば、restartコマンドを使用して、プログラムを再実行できます。
上記の対策でも解決できない場合は、一度リモート先の対象に再接続してデバッグを行ってみてください。または、別のデバッガー、デバッグツールを使用してリモートデバッグを実行してみてください。