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