[Crash-utility] [PATCH 0/3] Display local variables & function parameters from stack frames

Sharyathi Nagesh sharyath at in.ibm.com
Mon May 25 04:46:03 UTC 2009


Dave
	Attaching the patches that we have developed till now.
We have tried to accommodate your suggestions regarding Makefiles in 
this patches.
	We have tried to provide unwinding support in ppc64, x86_64 and x86 
architecture. The feature is tested on ppc64 with dumps taken through 
panic and echo c > /proc/sysrq-trigger. We have observed that many times 
the variable information is optimized out and accessing variable 
information is not possible (volatile variables are shown correctly), 
IMHO this behavior is similar to that shown by gdb, please spare your 
thoughts on this
	This implementation works reasonably on ppc64, we were able to unwind 
to stack and get variable information.
	But we are still facing problem with x86 and x86_64 architecture, Our 
generic implementation for stack unwinding using dwarf is not succeeding 
, since frame pointer is optimized out by default. IMHO stack unwinding 
as talked about in ABI's is not valid for the same reason. But if you 
enable CONFIG_FRAME_POINTER in kernel, then unwinding using bp will be 
possible.
	Please let me know your thoughts in general

Here I am attaching 3 patches
1. Display-local-variables-and-function-parameters.patch
	Provides feature to print local variables and arguments in the current 
stack frame using dwarf information.

2. Provide-stack-unwinding-feature.patch
	Provides option to unwind the stack, using dwarf information, works on 
ppc64

3. unwind_x86_64.patch
	provides unwinding feature in x86_64 with out using dwarf information 
but requires CONFIG_FRAME_POINTER to be enabled


Note: It is tested on elfutils-0.137 and above

Thank you
Sharyathi Nagesh




More information about the Crash-utility mailing list