I am trying to debug Linux kernel with kvm vm. I am getting an error message "Remote 'g' packet reply is too long". My host is 64-bit and so is my vm.
My steps:
- Start the VM with custom -kernel, -initrd and -append options.
- Start gdb
- Execute "set architecture i386:x86-64:intel"
- Execute "add-symbol-file linux-3.0/vmlinux"
- Execute "show arch" to verify its still "i386:x86-64:intel"
- Execute "target remote localhost:1234"
- Execute "continue"
- Press Ctrl+C, I get the above message.
Has anyone faced this problem?
Best Answer
gdb doesn't work well against a cpu that switches between instruction sets at runtime. Wait for the kernel to leave early boot before connecting, and don't use qemu's
-S
flag.