From: Ralf Baechle <ralf@linux-mips.org>
To: Fuxin Zhang <fxzhang@ict.ac.cn>
Cc: Srinivas Kommu <kommu@hotmail.com>, linux-mips@linux-mips.org
Subject: Re: how to get a process backtrace from kernel gdb?
Date: Wed, 22 Mar 2006 11:32:03 +0000 [thread overview]
Message-ID: <20060322113203.GA4544@linux-mips.org> (raw)
In-Reply-To: <442130DA.8060407@ict.ac.cn>
On Wed, Mar 22, 2006 at 07:11:22PM +0800, Fuxin Zhang wrote:
> Are there any existing method/code to get a reliable back trace dump for
> oops? Kgdb is not usable here because I have no serial port. Do I need
> to copy gdb code to analysis the stack?
By all practical means the method used by get_wchan() in my previous
posting is safe. A method that is also theoretically correct is a little
harder but could be constructed based on the gcc generated DWARF 2
debugging info. IA64 does this for example.
> If I am not wrong, dump_stack() just print out any stack address falled
> in the text section, and that will make the result hard to understand.
> For example, I often find some interrupt functions mixed with normal
> function names and repeated functions, e.g.
You're absolutely right, dump_stack really needs to be fixed to be more
useful. As it is it's generating alot of confusing output. There are
two possible approaches here:
a) Analyze the code with a simple frame unwinder along the lines of the
get_wchan implementation. Simple but possibly fragile as compilers
continue to improve.
b) Bite the bullet and use the DWARD 2 frame unwind info and code. More
complicated but will be a solid and correct solution albeit larger so
not acceptable for small embedded devices.
I fear we may have to do both, 2) as the prefered solution and 1) as the
fallback solution.
Ralf
next prev parent reply other threads:[~2006-03-22 11:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-22 0:02 how to get a process backtrace from kernel gdb? Srinivas Kommu
2006-03-22 10:50 ` Ralf Baechle
2006-03-22 11:11 ` Fuxin Zhang
2006-03-22 11:32 ` Ralf Baechle [this message]
2006-03-22 11:40 ` Fuxin Zhang
2006-03-22 12:04 ` Ralf Baechle
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=20060322113203.GA4544@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=fxzhang@ict.ac.cn \
--cc=kommu@hotmail.com \
--cc=linux-mips@linux-mips.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.