This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: stucture element variable access problem


Mao, Bibo 写道:
> My kernel version is 2.6.9-36.ELia32, and it will use $q->elevator.elevator_name get its name, for kernel >2.6.10  $q->elevator->elevator_type->elevator_name will be used to get the name.
> My original meaning is that if variable is structure pointer type, it will be ok to access its element like "elevator_type->elevator_name". But if the variable is structure type but not pointer type, there will be error to access its element like "elevator.elevator_name".
> In my IA32 and IA64 box, there will be the same error on 2.6.9-36.EL version. I do not know whether there is one method to access structure type variable's element.
> 
You should use:
$q->elevator->elevator_name
instead of:
$q->elevator.elevator_name

The following script works well for me on 2.6.9-34.19.EL/ppc64

probe kernel.function("__elv_add_request")
{
        elevator_name = kernel_string($q->elevator->elevator_name)
        printf("%s\n", elevator_name)
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]