Hello. I would like to ask for some help on a dtrace script I am writing.
The following set of dtrace functions seems not to work....I see output
for the entry function as expected, but I do not see a corresponding
return value being returned. Actually the return function was more
complicated but it was not working. When I decided to simply test using
a return value I realized that that did not work either.
When I remove the predicate from the entry function, I see output for
every entry (including those with the "SUNW..." string), but only return
values for the calls whose args[2] do not correspond to the "SUNW" string.
Using an entry predicate where args[2] corresponds to a more standard
name seems to fare better.
I am not sure if the problem is the '$' or if it might be something else.
Thank you very much for your help.
Janice
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
fbt::zap_lookup_norm:entry
/ args[2] == "SUNWsmb:stream4.txt:$DATA" /
{
self->path = args[7];
printf("zap_lookup_norm entry: %s\n", stringof(args[2]));
}
fbt::zap_lookup_norm:return
/self->path/
{
trace(arg1);
}
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
_______________________________________________
dtrace-discuss mailing list
[email protected]