Ask HN: What do you use to monitor system calls on Windows and Mac?
4 comments
On macOS you have Instruments, dtrace (which is what Instruments uses under the hood, IIRC), and strace. I haven't had much need for any of these, but you should be able to use dtrace for anything you'd use strace for and it will (or used to, has strace been improved?) get you much better performance while doing the tracing.
There's also the sc_usage TUI and fs_usage command. Maybe they're tapping into the same stuff, I dunno.
Use dtruss on Mac OS. The dtrace subsystem has become harder to use, though, with system protection active. Supposedly you can get it running again through these tricks https://apple.stackexchange.com/questions/208762/now-that-el... but haven't tried it out yet, as I had no need since my Yosemite upgrade to trace syscalls.
For Windows, I've used API Monitor a lot to track .dll and API calls.
http://www.rohitab.com/apimonitor
http://www.rohitab.com/apimonitor
If you click on the "show" button in this page
https://j00ru.vexillium.org/syscalls/nt/64/
you can see that the syscall numbers change from release to release!
I'm pretty sure that this tool
https://docs.microsoft.com/en-us/windows-hardware/drivers/de...
works by trapping calls to the DLL, which are stable.