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:10:23 +0530 Message-ID: <20090520084023.GA8136@skywalker> References: <20090519185312.GA32697@skywalker> <20090519191009.GA8872@skywalker> <4A13BB13.2060201@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 e23smtp04.au.ibm.com ([202.81.31.146]:42346 "EHLO e23smtp04.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752319AbZETIlJ convert rfc822-to-8bit (ORCPT ); Wed, 20 May 2009 04:41:09 -0400 Received: from d23relay02.au.ibm.com (d23relay02.au.ibm.com [202.81.31.244]) by e23smtp04.au.ibm.com (8.13.1/8.13.1) with ESMTP id n4K8ck66029055 for ; Wed, 20 May 2009 18:38:46 +1000 Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138]) by d23relay02.au.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n4K8ewZt1495210 for ; Wed, 20 May 2009 18:41:01 +1000 Received: from d23av02.au.ibm.com (loopback [127.0.0.1]) by d23av02.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n4K8ewKE008882 for ; Wed, 20 May 2009 18:40:58 +1000 Content-Disposition: inline In-Reply-To: <4A13BB13.2060201@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: 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: > >> 7fa5000000000000000000000000000057e209c10000000004000000000000000000000000000000c8b3d0c100000000c03fd1c100000000a83fd1c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000912d03c1000000000202000060000000680000007b0000007b000000d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f60b801540000000000000000000007f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 > 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 -aneesh