From: ZC Miao <hellwolf.misty@gmail.com>
To: Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Usage of kgdb in v2.6.26
Date: Wed, 16 Jul 2008 23:00:03 +0100 [thread overview]
Message-ID: <1216245603.3664.29.camel@hellwolf-sony.freehell.org> (raw)
I tried to use the kgdb from v2.6.26, but met few problems.
I use :
1. gdb 6.8 (gdb-6.8-11.fc9.i386)
2. kernel v2.6.26 source code
3. Qemu 0.9.1 (qemu-0.9.1-5.fc9.i386)
4. Host is : 2.6.25.10-86.fc9.i686
5. Cpu : Intel(R) Core(TM)2 Duo CPU T5450 @ 1.66GHz
* Firstly I compile kernel 2.6.26 with kgdb support :
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
* Then I use qemu to boot my kernel along with a rootfs that I created,
with a qemu option that makes a local tcp port a listening service as a
serial port for the emulated system. The kernel arguments I gave is :
nfsroot=192.168.200.1:/path/to/rootfs,udp,nolock ip=dhcp root=/dev/nfs
ro single kgdboc=ttyS0,115200 kgdbwait
* After the kernel loaded and boot for a while, the gdb receives a
signal and hangs the kernel :
kgdb_register_io_module (new_kgdb_io_ops=<value optimized out>)
at /data/home/hellwolf/mydoc/prog/linux/linux-2.6/kernel/kgdb.c:1674
(gdb)
Question 1 :
* If I type "b sys_read", and then "c", the kernel continues until I
get :
---------------------------------------------------------------
[New Thread 1]
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
Breakpoint 1, sys_read (fd=3, buf=0xbfdb31dc "", count=512)
at /data/home/hellwolf/mydoc/prog/linux/linux-2.6/fs/read_write.c:360
(gdb)
---------------------------------------------------------------
Why "program is no longer writable" happens here?
Question 2 :
* If I directly type "c" when kgdbwait triggered. And use Sys-Rq+G to
interrupt the kernel, I will get :
---------------------------------------------------------------
[New Thread -1]
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread -1]
sysrq_handle_gdb (key=103, tty=0xc78f6400)
at /data/home/hellwolf/mydoc/prog/linux/linux-2.6/kernel/kgdb.c:167
(gdb)
---------------------------------------------------------------
Here if I type "c sys_read" and "c", it never actually makes any break
points, I will never receive a break from gdb.
I don't know if I made anything wrong, or I missed any important thing,
so I post here and would like to get some help from you.
Thanks.
--
ZC Miao (hellwolf.misty@gmail.com)
Blog http://hellwolf.cublog.cn
gpg --keyserver pgp.mit.edu --recv-key 0x6B174C6F
Most people deserve each other.
-- Shirley
next reply other threads:[~2008-07-16 22:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-16 22:00 ZC Miao [this message]
2008-07-17 13:14 ` Usage of kgdb in v2.6.26 Jason Wessel
2008-07-17 13:21 ` ZC Miao
2008-07-17 14:45 ` ZC Miao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1216245603.3664.29.camel@hellwolf-sony.freehell.org \
--to=hellwolf.misty@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.