All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piet Delaney <pdelaney@bluelane.com>
To: Alexander Nyberg <alexn@telia.com>, V Srivatsa <vatsa@in.ibm.com>,
	Maneesh Soni <maneesh@in.ibm.com>
Cc: Bernhard Kaindl <bk@suse.de>, Andrew Morton <akpm@osdl.org>,
	Castor Fu <Castor.Fu@3PAR.com>,
	Sergei Shtylyov <sshtylyov@ru.mvista.com>,
	Milind Dumbare <jhumo2002@yahoo.com>,
	"Amit S. Kale" <amitkale@linsyssoft.com>,
	kexec@lists.infradead.org, Andrew Cagney <ac131313@cygnus.com>,
	Bernhard Walle <bwalle@suse.de>,
	Randy Dunlap <rdunlap@xenotime.net>,
	Vivek Goyal <vgoyal@in.ibm.com>,
	Dave Anderson <anderson@redhat.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	Ingo Molnar <mingo@elte.hu>, George Anzinger <george@mvista.com>,
	Joel Brobecker <brobecker@adacore.com>,
	Daniel Jacobowitz <drow@false.org>
Subject: Accessing Thread Information in kernel crash dumps with ddd+gdb
Date: Thu, 17 Apr 2008 17:16:55 -0700	[thread overview]
Message-ID: <4807E877.8000404@bluelane.com> (raw)

Hey Guys:

I've been using kgdb for a while with our 2.6.12 and now 2.6.16 kernel
as well as kdump/kexec with our 2.6.16 kernel. I'm a bit disappointed
with the visibility of local variables on the threads/tasks not currently
running on CPUs. Both crash, and the gdb macros that you guys wrote,
show the most important stuff but I'd prefer to be able to see everything
with gdb/ddd as I can with kgdb; including all local variables and formal
parameters at each stack frame.

A long time ago I used gdb on SunOS 4.1.4 and use to simply set $fp
and $sp from the saved information in the U-block to view a process.
I wish gdb would allow be to run your macros, btt for example, and extract
the stackp from task.thread.esp assign it temporally to $sp for the 
current task,
do the backtrace command and see everything. Changing $sp and $fp for a 
while
like I use to do with gdb on SunOS 4.1.4 and then using ddd+gdb to 
browse the
stack formals and locals would be nice. Just doing a 'set write on' 
isn't sufficient,
gdb wants a process and I can't see to satisfy it with simply setting 
the current
thread.

I was wondering if any of you guys have been thinking of anything like this
and had and hacks or ideas on how to see the locals and formals for all 
tasks.

One thought I had was a minor hack of the kexec code to do something 
like your gdb macros
and walk thru the task list and then append a ELF Notes, like done by 
crash_save_this_cpu(),
for each task. I have no idea if gdb has a limit on the number of 
elf_prstatus structures
that can be provided. I suppose I'd leave it a KEXEC config variable to 
enable this, as
some would argue that it's not as save as simply saving the regs for the 
active CPUs.
This would leave 'info threads' with gdb similar to 'ps' with crash and 
virtually identical
to the experience with kgdb.

-piet

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

             reply	other threads:[~2008-04-18  0:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-18  0:16 Piet Delaney [this message]
2008-04-18  5:38 ` Accessing Thread Information in kernel crash dumps with ddd+gdb Piet Delaney
2008-04-18 14:10 ` Vivek Goyal
2008-04-18 20:07   ` Piet Delaney
2008-04-20  4:37     ` Eric W. Biederman
2008-04-18 21:04   ` Piet Delaney

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=4807E877.8000404@bluelane.com \
    --to=pdelaney@bluelane.com \
    --cc=Castor.Fu@3PAR.com \
    --cc=ac131313@cygnus.com \
    --cc=akpm@osdl.org \
    --cc=alexn@telia.com \
    --cc=amitkale@linsyssoft.com \
    --cc=anderson@redhat.com \
    --cc=bk@suse.de \
    --cc=brobecker@adacore.com \
    --cc=bwalle@suse.de \
    --cc=drow@false.org \
    --cc=ebiederm@xmission.com \
    --cc=george@mvista.com \
    --cc=jason.wessel@windriver.com \
    --cc=jhumo2002@yahoo.com \
    --cc=kexec@lists.infradead.org \
    --cc=maneesh@in.ibm.com \
    --cc=mingo@elte.hu \
    --cc=rdunlap@xenotime.net \
    --cc=sshtylyov@ru.mvista.com \
    --cc=vatsa@in.ibm.com \
    --cc=vgoyal@in.ibm.com \
    /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.