ram ba wrote:
Hi all,I was running crash to analyse a vmcore generated by a
2.6.16.21-0.8.uis.1-smp kernel ( on x86_64
architecture). During this I came to know that we get a list of all kernel symbols with
the help of "sym -l" command.
With the help of "whatis" command we can know the symbol definition.But
applying "whatis" command to each symbol and
checking its definition appears to be tedious. Is there any other way to identify as to
which symbols represent
structures? Also I wanted to isolate the structures related to memory, semaphores,
tasks. Since I am new to
crash utility, I couldn't get much information. Could you please provide some
suggestions as to how to go about
it.Thanks,Ramya
-----------------------------------------------------------------------------------------------------------------------
Need a quick answer? Get one in minutes from people who know. Ask your question on Yahoo!
Answers.
Ask "Yahoo! Answers"? ;-)
Anyway, it's not clear to me what you're asking for?
If a symbol-name is an instance of a data structure, or an array of data
structures, you can simply enter:
crash> p symbol-name
If the symbol refers to an array of structures, you can pick
an individual structure by its index:
crash> p symbol-name[index]
Or if the symbol is a pointer to a data strucutre, you display
what it points to with:
crash> p *symbol-name
The above simply take advantage of the embedded gdb module
pre-determining what the data type of a symbol is, and then printing it.
When you ask that you want to "isolate the structures related to
memory, semaphores, tasks", again, I don't understand what you
are asking for.
I'm probably missing your point, but, in any case, there's certainly no
existing command that walks the symbol list and tells you what kind of
data structure each one is -- if that's what you're expecting.
Depending upon what you want, you could probably (1) cobble together
an input script that you can in turn feed to crash, or (2) write an "extend"
module that gathers the data that you specifically need.
Dave