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]

Reply via email to