ARMでアセンブラを実行するために、RHELにQEMUをインストールしました。 QEMUとARMが正常にインストールされました。しかし、デバッグにGDBの使用を検討しています。インストールしたいGDBマルチアーキテクチャRHELから。 GDBがインストールされていてコマンドを実行するとき広東開発銀行GDBシェルが正常に取得されました。しかし、私は使うべきですGDBマルチアーキテクチャこのコマンドは実行できません。アセンブラを正常に実行するには、次のコマンドを実行する必要があります。
qemu-system-arm -S -s -M versatilepb -daemonize -m 128M -d in_asm,cpu,exec -kernel hello_world.bin ; gdb-multiarch --batch --command=hello_world.gdb
上記のコマンドでgdb-multiarchコマンドが見つからないというエラーが発生します。私はこの環境が初めてですが、助けてくださったら本当に感謝します。
答え1
少し時間が経ちましたが、今この問題に遭遇し、解決策を見つけました。まず、上記のように、gdb-multiarchパッケージは現在Debianディストリビューションで使用できますが、まだRHELでは使用できません(現在のバージョンはRHEL 9です)。私はRHEL 7を使用していますが、以下のソリューションはRHEL 7用ですが、同様のパッケージをインストールすると、他のRHELバージョンのソリューションを見つけることができます。
- インストールする開発ツールセット-11(yumを使用してdevtoolset-11が見つからない場合は、ここから直接ダウンロードできます。協会)
- 以前に古いgdbパッケージをインストールした場合は、devtoolset-11 gdbバージョンを有効にする必要があります。これを行うには、 "
scl enable devtoolset-11 bash
"コマンドを実行してください。 - ""を使ってgdbのバージョンを確認してください
gdb -v
。結果は次のとおりです。
GNU gdb(GDB)Red Hat Enterprise Linux 10.2-6.el7
著作権(C)2021フリーソフトウェア財団、Inc.」
gdb
" "コマンドを使用してgdbセッションを開始します。- リモートターゲットに接続するには、コマンド "
target remote localhost:1234
"を実行します。 - エラーが発生しない場合は、デバッグする準備が整いました。