Dtrace fbt probe cannot trace functions in KEXTs
| Originator: | nickdowell | ||
| Number: | rdar://12643341 | Date Originated: | 06-Nov-2012 11:50 AM |
| Status: | Closed | Resolved: | 08-Dec-2012 11:18 AM |
| Product: | Mac OS X | Product Version: | 10.8.2 |
| Classification: | Enhancement | Reproducible: | Always |
06-Nov-2012 11:50 AM Nick Dowell:
Summary:
Dtrace is not able to probe functions that are implemented in KEXTs
Steps to Reproduce:
1. Create a KEXT with some globally exported symbols
2. Load KEXT
3. Attempt to probe one of these functions with dtrace like so:
sudo dtrace -n 'fbt::my_kext_function:entry'
Expected Results:
Dtrace should be able to probe functions in KEXTs for which global symbols are exported.
Actual Results:
Dtrace fails with the following error:
dtrace: invalid probe specifier fbt::my_kext_function:entry: probe description fbt::my_kext_function:entry does not match any probes
Regression:
Tested on Mac OS X 10.8.2
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!
29-Nov-2012 09:15 PM Apple Developer Bug Reporting Team :
This is an error; you have not loaded the kext you think you've loaded, or your symobls aren't exported, or you're trying to probe a non-global symbol, or something along those lines.
'sudo dtrace -l' will show a large spew of output, anything with a label like:
fbt com.apple.kext.XXXX is a kext fbt probe.
(You can verify the presence of symbols in the kernel by using the "symbols" command, with a -1 argument to ask for kernel symbols. This will show the UUID of loaded kexts, which can be matched against what you expected to be loaded.)