This is the mail archive of the systemtap@sources.redhat.com 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] |
Vara Prasad wrote: > Let me make sure i understand your proposal. > Let us say if function z calls function a and then function a calls > function b like in the following. > z(i,j)->a(x,y)->b(c,d) That's not really possible. This would require that we can do all this work at runtime since there is no guarantee that b is called from a alone. I'm talking about either inlined functions or code like this: int foo (int a, int b) { int c = a; if (c != 0) { int a = 42 + b; bar(&a); c += a; } return c; } Here 'a' is shadowed. You can easily construct a similar case with inlining. And both variables could be parameters, of local variables, or any combination. In DWARF the if block is encoded with DW_TAG_lexical_block. This is one level down from the block of the function. So the variable could theoretically be accessed for a probe at the call to 'bar' with @a@ and the parameter with @a\1@ meaning, one level up. > Can you give me some example usage for this feature in a systemtap script? I think you see that the misunderstanding has prevented you from seeing an application. A probe at the call to 'bar' certainly might want to look at the parameter 'a'. -- â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â
Attachment:
signature.asc
Description: OpenPGP digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |