C++ implements templates, namespaces, function overloading, inheritance and a myriad of other things that make plaintext names for functions unfeasible. So, in order to properly probe a function, we can't use the standard provider:module:function:probe naming scheme ( since the function will be something meaningless like __1cEswap4Ci_6FrTA1_v_ for a function named 'swap'
My current thought is that, since the function name is meaningless, perhaps we ought to exploit the probe names.
Talking with Damian on irc, we came up with a naming scheme for our probes that looks something like this: namespace_[class, if any]_function_
So a function like swap ( T& , T& ) will have a probe named 'entry' that looks something like global-swap-TT-TT-entry.
The other option is to pretend the problem doesn't exist, use the fbt provider as normal, and pipe dtrace -l through c++filt but I don't really like that.
1 comment:
I really appreciate this post. I have been looking everywhere for this! Thank goodness I found it on Bing. You’ve made my day! Thank you again.Android App Development
Post a Comment