If you're looking for the Linux strace command on OS X, stop looking. OS X doesn't have this command, but what it does have, is dtruss.
I made the mistake of assuming dtruss was a straight replacement, so I ran it with the process name as its argument; i.e:
$ sudo dtruss /Applications/SomeRandomApp/Contents/MacOS/SomeRandomApp dtrace: failed to execute /Applications/SomeRandomApp: file is set-id or unreadable [Note: the '-c' option requires a full pathname to the file]
The error message had me stumped, but after some reading up, dtruss is just a different command altogether. Rather you run it as follows:
$ sudo dtruss -n SomeRandomApp
And in another terminal, or just via the GUI, run the command.
This came in handy when using the excellent JollysFastVNC which was failing to connect over an SSH tunnel without telling me the error. I found out the error as follows:
$ sudo dtruss -n JollysFastVNC\ Home -t read 6110/0x3af1f: read(0x17, "Bad stdio forwarding specification '\\'\r\n\0", 0x1000) = 40 0
That gave me a clue that I made a typo in the SSH Options field in JollysFastVNC.
See also Brendan Gregg's blog.