1
オンラインでgdb(Watch a memory range in gdb?)を使ってメモリアドレスへのアクセスを中断することができますが、qemuを使用すると、ゲストマシン上のメモリアドレスに対してそのようにする方法がわかりません。qemuのゲストマシンでgdbを使ってメモリアクセスを監視するには?
オンラインでgdb(Watch a memory range in gdb?)を使ってメモリアドレスへのアクセスを中断することができますが、qemuを使用すると、ゲストマシン上のメモリアドレスに対してそのようにする方法がわかりません。qemuのゲストマシンでgdbを使ってメモリアクセスを監視するには?
qemuは、qemuコマンドラインに-s
を指定して、ポート1234でリッスンするgdbサーバーで開始します。 QEMUのmanページから:additonで
-s Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234.
これに、あなたも、あなたがそれにGDBを接続して、問題continue
コマンドまで進んでからQEMUを停止しますオプション-S
を使用することができます。 GDBから
-S Do not start CPU at startup (you must type 'c' in the monitor).
、あなたはGDB(あなたのゲストのアーキテクチャに合ったGDBのバージョン)を開始することにより、QEMU上で実行中のGDBサーバーに接続します。 (QEMUが同じマシン上で実行されている場合)次に、コマンドによって、GDBサーバーに接続します。
(gdb) target remote :1234
参考文献:
が多くあります詳細なQEMU GDBセットアップチュートリアル:https://stackoverflow.com/a/33203642/895245 –