Notes:
truss(1) works by inserting a breakpoint at the traced location. When the user thread executes the breakpoint, truss stops all threads in the process, replaces the original instruction, single-steps that thread, replaced the breakpoint and then continues all threads.
DProbes works in much the same way, but it doesn't bother to stop all processes.