I have a Rust program that uses a C FFI, and I would like to instrument any time a function from that C FFI is called, and the arguments passed to it.
Im developing on macOS, and it seems like DTrace is a good fit, but with the macOS SIP enabled DTrace does not work well. I do not want to disable SIP.
I was looking at using this DTrace provider:
pid$target:::entry
Questions:
Is there a better way to do this on macOS/Rust?
What is the best OS to run as a VM in order to use DTrace/eBPF on my Rust program?