gdbstub: packet reply is too long
qemu に -s オプションをつけると、qemu の gdbstub が localhost:1234 で立ち上がり、gdb 上で target remote localhost:1234 などとすると接続できますよね. しかし、kvm-88の時点で、現在の qemu では、これを利用することができません. 具体的には、以下のような挙動に陥ります:
(gdb) target remote localhost:1234 Remote debugging using localhost:1234 [New Thread 1] Remote 'g' packet reply is too long: bae1120000000000000000000000000000000000000000000600000000000000645267b9000000000100000000000000149fbcc70000000000 9fbcc70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0e11fc00 00000008302000060000000680000007b0000007b000000d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000040cf16407f03000000380000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000801f0000
そして、エラー名で検索してみると、以下のスレッドが出てきます:
http://www.mail-archive.com/kvm@vger.kernel.org/msg08717.html
まとめると、
- 解決策はあるにはあるが、根本的な解決策ではない. 修正するなら、もっと根本的に変更するべきだ.
- 私の直したkvmのソースを見てもいいよ.
というわけで、修正がマージされていない様子です. かなり使える機能なので、早く修正されて欲しい気持ちはありますが、確かに保守する方はかなりしんどいのではないかと...(switch...case文で、数値直打ちで分岐してたしなぁ...w)
なお、修正版も試してみたのですが、私の環境では同様のエラーが出てしまいました. まとめると、現段階では動作しないのかな、という結論です.