Hi Dave,
             I am thankful to you for your immediate response. Since we know 
that symbols can be either structures, arrays, ordinary variables or functions, 
I want to fetch the values of only those symbols that are structures. Well when 
we execute sym -l  command, we get the second field as symbol type as shown 
below.
   
  ffffffff80107000 (T) level3_physmem_pgt
ffffffff80108000 (t) rest_init
  .....
ffffffff80333000 (D) cpu_gdt_table
ffffffff80333080 (d) gdt_end
  .....
ffffffff802d93a0 (A) __stop___ex_table
ffffffff802da000 (A) __start_rodata
ffffffff802da000 (R) linux_banner
ffffffff802da0c0 (r) p.13105
ffffffff802da100 (r) border

   I wanted to ensure whether we can use this information to identify whether a 
given symbol is a structure or a function or an ordinary variable.( can i 
assume that all symbols present in text segment are functions?)
   
           Also I wanted to know if there is any command wherein I can get a 
listing of all symbols that are related to memory, semaphores and tasks. 
  Thanks,
  Ramya

Dave Anderson <[EMAIL PROTECTED]> wrote:
  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 
  
  --
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility



 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to