[ re-added qemu-devel to CC ] On 2012-03-17 13:10, Wei Yang wrote: >> Two major issues with this procedure: >> >> 1. When using kvm, a soft breakpoint (as set by 'b') will inject a trap >> instruction into the guest image - which is not yet loaded after the >> bios ran. You need to use a hardware breakpoint in this case. >> >> 2. Due to gdb limitations, you cannot switch between 16/32-bit mode (the >> CPU starts in 16 bit) and the 64-bit mode of kernel within the same gdb >> session. Therefore: >> - let the target run into Linux is active >> - attach gdb >> - issue "hw start_kernel" >> - reboot (e.g. "monitor system_reset") >> - you will hit the breakpoint, and gdb will be usable >> >> Jan >> >> > oh, so when qemu run with kvm enabled, I couldn't debug the kernel right?
That's not what I said. You need to be aware of how it works. And, in contrast to pure emulation, kwm uses a non-transparent mechanism for injecting software breakpoints. Consider it the price for the gained speed. > > I tried to run qemu with out -enable-kvm, kernel could stop at the break > point. > > BTW, I tried "hw start_kernel", but it failed. > (gdb) hw start_kernel > Undefined command: "hw". Try "help". Sorry, typo. Must be "hb". Jan
signature.asc
Description: OpenPGP digital signature