How to deference a pointer to pointer

Frank Ch. Eigler fche@redhat.com
Tue Apr 19 14:42:00 GMT 2011


Zhiwei Ying <zhiwei.ying@gmail.com> writes:

> [...]
> I know systematap has limited support on tracing of struct field.

Yes, you can navigate pointers/array.  The syntax for this is similar
to but not the same as C.

> Can it trace a field in a pointer to pointer?
> struct A
> {
>   int x;
> };
> void foo(struct A **a);
>
> How can I trace the field x in struct A?

Yes, this is one of those cases where the syntax doesn't help enough.

probe FOO.function("foo") { println($a->x) }

So two levels of dereferencing are hidden in the single ->.

- FChE



More information about the Systemtap mailing list