From: Franz L. <fra...@we...> - 2005-11-19 13:48:28
|
Hello, I have a problem debugging the uml kernel using gdb in SKAS mode. What happens is that right after running the kernel in gdb, it immediately hits a breakpoint in proc_fs.h. Once I continue, it keeps hitting that breakpoint a few times, then moves on to break in swab.h etc. Also it's not possible to clear the breakpoints from within gdb. See attached gdb session at the end of my message. My questions: a) How can I clear those breakpoints I didn't set? and even more important b) How did they get there, why is a SIGTRAP received at proc_fs.h:190, swab.h:135, etc. I am using the vanilla 2.6.14 kernel source patched with uml-2.6.14-bs1.patch. In kernel configuration, tt mode, skas mode, kallsyms, ptrace etc. are enabled. Supplying mode=skas0 or compiling the kernel without tt mode doesn't change anything. Furthermore, I'm not able to debug in tt mode, if you wish I can write about that in another posting. Therefore, could it have something to do with my version of gdb (6.3)? Kind regards, Franz Lenhardt ---snip: gdb session--- undercity:/home/lenhardt/Documents/Implementation/sr/uml # gdb linux-sr GNU gdb 6.3 Copyright 2004 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 "i586-suse-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) b route.c:931 Breakpoint 1 at 0xa01d7b58: file route.c, line 931. (gdb) r ubd0=root.img ubd1=swap.img Starting program: /home/lenhardt/Documents/Implementation/sr/uml/linux-sr ubd0=root.img ubd1=swap.img Program received signal SIGTRAP, Trace/breakpoint trap. 0xa001a003 in _start () at proc_fs.h:190 190 res->proc_fops = fops; (gdb) c Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0xa001a005 in _start () at proc_fs.h:190 190 res->proc_fops = fops; (gdb) clear No breakpoint at this line. ---snap: gdb session--- |
From: Blaisorblade <bla...@ya...> - 2005-11-20 16:50:58
|
On Saturday 19 November 2005 14:48, Franz Lenhardt wrote: > Hello, > > I have a problem debugging the uml kernel using gdb in SKAS mode. > What happens is that right after running the kernel in gdb, it immediately > hits a breakpoint in proc_fs.h. Once I continue, it keeps hitting that > breakpoint a few times, then moves on to break in swab.h etc. Also it's not > possible to clear the breakpoints from within gdb. See attached gdb session > at the end of my message. > > My questions: > a) How can I clear those breakpoints I didn't set? Those are not breakpoints, it's some GDB bug - i.e. it gives a stop for _EVERY_ instruction. > and even more important > b) How did they get there, why is a SIGTRAP received at proc_fs.h:190, > swab.h:135, etc. > I am using the vanilla 2.6.14 kernel source patched with > uml-2.6.14-bs1.patch. In kernel configuration, tt mode, skas mode, > kallsyms, ptrace etc. are enabled. Supplying mode=skas0 or compiling the > kernel without tt mode doesn't change anything. Have you disabled CONFIG_CMDLINE_ON_HOST when compiling? > Furthermore, I'm not able to debug in tt mode, if you wish I can write > about that in another posting. If you have read debugging.html on the main site, you can post it. If not, read that page (in short, you can't do gdb linux for TT mode). > Therefore, could it have something to do > with my version of gdb (6.3)? No, I use successfully gdb 6.3. > Kind regards, > Franz Lenhardt > ---snip: gdb session--- > undercity:/home/lenhardt/Documents/Implementation/sr/uml # gdb linux-sr > GNU gdb 6.3 > Copyright 2004 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 "i586-suse-linux"...Using host libthread_db > library "/lib/tls/libthread_db.so.1". > > (gdb) b route.c:931 > Breakpoint 1 at 0xa01d7b58: file route.c, line 931. > (gdb) r ubd0=root.img ubd1=swap.img > Starting program: /home/lenhardt/Documents/Implementation/sr/uml/linux-sr > ubd0=root.img ubd1=swap.img > > Program received signal SIGTRAP, Trace/breakpoint trap. > 0xa001a003 in _start () at proc_fs.h:190 > 190 res->proc_fops = fops; > (gdb) c > Continuing. > > Program received signal SIGTRAP, Trace/breakpoint trap. > 0xa001a005 in _start () at proc_fs.h:190 > 190 res->proc_fops = fops; > (gdb) clear > No breakpoint at this line. > ---snap: gdb session--- -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Franz L. <fra...@we...> - 2005-11-21 11:22:08
|
On Sunday 20 November 2005 17:00, Blaisorblade wrote: > On Saturday 19 November 2005 14:48, Franz Lenhardt wrote: > > Hello, > > > > I have a problem debugging the uml kernel using gdb in SKAS mode. > > What happens is that right after running the kernel in gdb, it > > immediately hits a breakpoint in proc_fs.h. Once I continue, it keeps > > hitting that breakpoint a few times, then moves on to break in swab.h > > etc. Also it's not possible to clear the breakpoints from within gdb. See > > attached gdb session at the end of my message. > > > > Have you disabled CONFIG_CMDLINE_ON_HOST when compiling? > No I hadn't - thank you very much, everything works fine now. Kind Regards, Franz Lenhardt |