From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: kvm guest debug using gdb on x86 Date: Wed, 20 May 2009 11:46:15 +0200 Message-ID: <4A13D167.7000504@siemens.com> References: <20090519185312.GA32697@skywalker> <20090519191009.GA8872@skywalker> <4A13BB13.2060201@siemens.com> <20090520084023.GA8136@skywalker> <4A13C5F1.8000809@siemens.com> <20090520090438.GA15275@skywalker> <4A13D055.5060101@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: "Aneesh Kumar K.V" Return-path: Received: from gecko.sbs.de ([194.138.37.40]:23620 "EHLO gecko.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753985AbZETJqV (ORCPT ); Wed, 20 May 2009 05:46:21 -0400 In-Reply-To: <4A13D055.5060101@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: Jan Kiszka wrote: > Aneesh Kumar K.V wrote: >> 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: >>>>>>> 7fa5000000000000000000000000000057e209c10000000004000000000000000000000000000000c8b3d0c100000000c03fd1c100000000a83fd1c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000912d03c1000000000202000060000000680000007b0000007b000000d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f60b801540000000000000000000007f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 >> 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. >> > > Sigh, confirmed, there is a regression in qemu-kvm. Will dig into this. Hmpf, the regression is also present in qemu upstream in kvm mode. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux