From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Aneesh Kumar K.V" Subject: Re: kvm guest debug using gdb on x86 Date: Wed, 20 May 2009 14:34:38 +0530 Message-ID: <20090520090438.GA15275@skywalker> References: <20090519185312.GA32697@skywalker> <20090519191009.GA8872@skywalker> <4A13BB13.2060201@siemens.com> <20090520084023.GA8136@skywalker> <4A13C5F1.8000809@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8BIT Cc: kvm@vger.kernel.org To: Jan Kiszka Return-path: Received: from e23smtp06.au.ibm.com ([202.81.31.148]:35263 "EHLO e23smtp06.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754131AbZETJE4 convert rfc822-to-8bit (ORCPT ); Wed, 20 May 2009 05:04:56 -0400 Received: from d23relay02.au.ibm.com (d23relay02.au.ibm.com [202.81.31.244]) by e23smtp06.au.ibm.com (8.13.1/8.13.1) with ESMTP id n4K94taX019302 for ; Wed, 20 May 2009 19:04:55 +1000 Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay02.au.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n4K94qil1212488 for ; Wed, 20 May 2009 19:04:56 +1000 Received: from d23av01.au.ibm.com (loopback [127.0.0.1]) by d23av01.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n4K94pAJ001882 for ; Wed, 20 May 2009 19:04:51 +1000 Content-Disposition: inline In-Reply-To: <4A13C5F1.8000809@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, May 20, 2009 at 10:57:21AM +0200, Jan Kiszka wrote: > Aneesh Kumar K.V wrote: > > On Wed, May 20, 2009 at 10:10:59AM +0200, Jan Kiszka wrote: > >> Aneesh Kumar K.V wrote: > >>> On Wed, May 20, 2009 at 12:23:12AM +0530, Aneesh Kumar K.V wrote: > >>>> Hi, > >>>> > >>>> With the latest qemu-kvm and 2.6.30-rc6 kernel i am not able to get > >>>> the guest debugging with gdb. I get the following error. > >>>> > >>>> $gdb ./vmlinux > >>>> GNU gdb 6.8-debian > >>>> Copyright (C) 2008 Free Software Foundation, Inc. > >>>> License GPLv3+: GNU GPL version 3 or later > >>>> > >>>> This is free software: you are free to change and redistribute it. > >>>> There is NO WARRANTY, to the extent permitted by law. Type "show > >>>> copying" > >>>> and "show warranty" for details. > >>>> This GDB was configured as "i486-linux-gnu"... > >>>> (gdb) b do_fork > >>>> Breakpoint 1 at 0xc106cfc8: file kernel/fork.c, line 1347. > >>>> (gdb) target remote localhost:1234 > >>>> Remote debugging using localhost:1234 > >>>> [New Thread 1] > >>>> Remote 'g' packet reply is too long: > >>>> 7fa5000000000000000000000000000057e209c10000000004000000000000000000000000000000c8b3d0c100000000c03fd1c100000000a83fd1c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000912d03c1000000000202000060000000680000007b0000007b000000d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f60b801540000000000000000000007f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 > 00 > >> 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 > >>>> (gdb) > >>>> > >>>> any patches that i can try ? > >>> Works better with the four patches found at > >>> > >>> http://git.kiszka.org/?p=kvm-userspace.git;a=shortlog;h=refs/heads/queues/gdb > >>> > >>> But a next and continue doesn't get the prompt back on gdb. The guest > >>> does stops the execution. > >> What arch is host and guest (x86-32 or -64)? What KVM versions are you > >> using? Are you sure that guest and vmlinux matches? > >> > > > > Both host and guest are x86-32. For kvm user space I did a git clone > > from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git. I tested with > > commit 22d239bcee126742df46938ee8ddc7c6b9209e23. That version fails > > with the "remote g packet reply is too long" error. Then i applied the > > four patches from your git repo. That gets the guest to stop execution > > on breakpoint, i can check the stack. but single stepping doesn't work. > > > > Guest kernel I tried was linux-2.6-tip > > Does debugging work with -no-kvm, ie. in TCG mode? Yes. debugging works with -no-kvm option. I can do single stepping. -aneesh