[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Qemu-devel] Re: Debugging vmlinux with qemu and gdb. Unable to step
From: |
Keilhau Timo ( Student ) |
Subject: |
RE: [Qemu-devel] Re: Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.. |
Date: |
Thu, 8 May 2008 11:09:58 +0200 |
> -----Original Message-----
> From:
> address@hidden
>
> [mailto:address@hidden
ngnu.org] On Behalf Of Jan Kiszka
> Sent: Donnerstag, 8. Mai 2008 10:29
> To: address@hidden
> Subject: [Qemu-devel] Re: Debugging vmlinux with qemu and
> gdb. Unable to step, next, print or to get any information..
>
> Keilhau Timo ( Student ) wrote:
> > Hello List!
> >
> > I am trying to debug linux 2.6.25 kernel with qemu -s and gdb on 64
> > bit amd system.
> > But I am experiencing strange behaviour with qemu and gdb..
> > Gdb stops at a given breakpoint but I cant step, next, print etc..
> >
> > Software:
> > Host OS used: opensuse 10.3
> > Host kernelversion: 2.6.22.5-31-default
> > guest: Debian Etch 4.0r3 amd64
> with 2.6.25
> > The kernel used to debug: linux-2.6.25.tar.bz2
> > Virtualization Software: qemu pc emulator version 0.9.0
> > Host make utillity GNU Make 3.81
> > Host debugger: GNU gdb 6.6.50.20070726-cvs
> > (Also tried gdb 6.6, gdb 6.8 compiled from source)
> >
> > Look here:
> >
> > // Starting qemu on host:
> >
> > $ qemu-system-x86_64 -s -kernel bzImage -hda
> > qemu_mini_debian_root_fs.img -append "root=/dev/hda1" -initrd
> > debian_boot/initrd.img-2.6.25-customtk-i -no-kqemu -redir
> > tcp:10022:10.0.2.15:22
> >
> > // Boots fine.
> > // vmlinux is compiled with CFLAGS=-g3 -ggdb, I have also
> tried only
> > with -g // On host:
> >
> > $ nm vmlinux | grep sys_sendmsg
> > ffffffff803e9ac5 T sys_sendmsg
> >
> >
> > // Starting gdb on host and setting a breakpoint:
> >
> > $ gdb vmlinux
> >
> > GNU gdb 6.6.50.20070726-cvs
> > Copyright (C) 2007 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public
> License, and
> > you are welcome to change it and/or distribute copies of it under
> > certain conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB. Type "show warranty" for
> > details.
> > This GDB was configured as "x86_64-suse-linux"...
> > Using host libthread_db library "/lib64/libthread_db.so.1".
> > (gdb) l sys_sendmsg
> > 1783 /*
> > 1784 * BSD sendmsg interface
> > 1785 */
> > 1786
> > 1787 asmlinkage long sys_sendmsg(int fd, struct msghdr
> __user *msg,
> > unsigned flags)
> > 1788 {
> > 1789 struct compat_msghdr __user *msg_compat =
> > 1790 (struct compat_msghdr __user *)msg;
> > 1791 struct socket *sock;
> > 1792 char address[MAX_SOCK_ADDR];
> > (gdb) b 1787
> > Breakpoint 1 at 0xffffffff803e9ac5: file net/socket.c, line 1787.
> > (gdb)
> >
> > // Now connect to qemu's gdb-stub:
> >
> > (gdb) target remote :1234
> > Remote debugging using :1234
> > 0x0000000000000000 in ?? ()
> > (gdb) c
> > Continuing.
> >
> > // On guest launching a ping for example, to trigger the breakpoint:
> >
> > $ ping 212.76.144.43
> >
> > // On Host gdb stops, but it looks strange no address info etc is
> > shown?!?!
> >
> > Program received signal SIGTRAP, Trace/breakpoint trap.
> > 0x0000000000000000 in ?? ()
>
> Make sure gdb is assuming the right arch at this point (=>
> set arch i386:x86-64). If you initially break into the guest
> when it is still in real mode, gdb stays in i386 mode even if
> the guest's mode changes.
>
> Jan
>
Hello Jan,
thanks for your reply!
I've tried your suggestion with "set arch i386:x86-64"
But it seems that it has no effect on this problem. But it was a good
idea.
Additionally I've tried all architectures just to see what happens.
This is what ive done:
(gdb) set architecture i386:x86-64
The target architecture is assumed to be i386:x86-64
(gdb) c
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x0000000000000000 in ?? ()
(gdb) s
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) info locals
No symbol table info available.
(gdb) set architecture i386
The target architecture is assumed to be i386
(gdb) c
Continuing.
// <manual break here because gdb diddn't automatically>
Program received signal SIGINT, Interrupt.
0x8020aed9 in ?? ()
(gdb) p this
No symbol "this" in current context.
(gdb) info locals
No symbol table info available.
(gdb) l *0x8020aed9
No source file for address 0x8020aed9.
(gdb) p *0x8020aed9
Cannot access memory at address 0x8020aed9
(gdb) set architecture i386:intel
The target architecture is assumed to be i386:intel
(gdb) c
Continuing.
// <manual break here because gdb diddn't automatically>
Program received signal SIGINT, Interrupt.
0x8020aed9 in ?? ()
(gdb) p this
No symbol "this" in current context.
(gdb) info locals
No symbol table info available.
(gdb) s
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) l *0x8020aed9
No source file for address 0x8020aed9.
(gdb) set architecture i386:x86-64:intel
The target architecture is assumed to be i386:x86-64:intel
(gdb) c
Continuing.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x0000000000000000 in ?? ()
(gdb) info locals
No symbol table info available.
(gdb) n
Cannot find bounds of current function
(gdb) s
Cannot find bounds of current function
(gdb) p this
No symbol "this" in current context.
(gdb) set architecture i8086
The target architecture is assumed to be i8086
(gdb) c
Continuing.
// <manual break here because gdb diddn't automatically>
Program received signal SIGINT, Interrupt.
0x8020aed9 in ?? ()
(gdb) s
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) info locals
No symbol table info available.
(gdb) set architecture
auto i386:intel i386:x86-64:intel
i386 i386:x86-64 i8086
(gdb) set architecture auto
The target architecture is set automatically (currently i386:x86-64)
(gdb)
Any further ideas what is going / I'm doing wrong ?
- [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Keilhau Timo ( Student ), 2008/05/08
- [Qemu-devel] Re: Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Jan Kiszka, 2008/05/08
- RE: [Qemu-devel] Re: Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information..,
Keilhau Timo ( Student ) <=
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Mulyadi Santosa, 2008/05/08
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Jason Wessel, 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Mulyadi Santosa, 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Jan Kiszka, 2008/05/09
- RE: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Keilhau Timo ( Student ), 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Mulyadi Santosa, 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Edgar E. Iglesias, 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Daniel Jacobowitz, 2008/05/09
- Re: [Qemu-devel] Debugging vmlinux with qemu and gdb. Unable to step, next, print or to get any information.., Jason Wessel, 2008/05/09