Eclipse CDT と GNU ARM QEMU シミュレーターを使用しています。Eclipse は、QEMU で実行されている独自のgdb
セッションを開始します。gdbserver
OSX 端末からも接続できるようにして、より細かく制御できるようにしたいと考えています。また、Node.js スクリプトから GDB/MI を使用して、登録ステータスなどの有用なデータを取得し、Web ページで視覚化できるようにしたいと考えています。
独自の gdb セッションで QEMU シミュレーターをスタンドアロンで実行している場合は正常に接続できますが、Eclipse の gdb にピギー バックするか、gdbserver
.
ありがとう!
https://sourceware.org/gdb/onlinedocs/gdb/Server.html (20.3.1.2)から:
gdbserver が実行されている場合、gdb は後で再度接続できます。このような再接続は、切断されたトレースなどの機能に役立ちます。完全を期すために、一度に接続できる gdb は 1 つまでです。
これまでのところ、私はそれを理解できず、ドキュメントからは不可能であるようです。
私が現在使用している解決策は、QEMU シミュレーターを端末から手動で実行することです。GNU ARM Eclipse デバッガーgdbserver
host:port
では、正常に動作するスタンドアロン QEMU を指すことができる を指定できます。
シミュレートされた gdb セッションを可能にするために、Eclipse に直接接続するのではなく、接続するためのカスタム TCP サーバーを作成できますgdbserver
。この TCP サーバーは、Eclipse からのすべてのトラフィックを に転送しgdbserver
、このチャネルを介して gdb をリッスンしてメッセージを送信することもできます。
最終的な結果として、通常どおり Eclipse でデバッグしてブレークポイントを設定できるだけでなく、Web インターフェースやネイティブ OSX 端末などを介して任意の方法で gdb とやり取りすることもできます。