(This question is about the Mac OS X version of dtrace, but I'm told they don't 
do anything special there.)

I can use copyout() to modify the program's memory (with -w) and thus patch up 
errant functions' memory in user space. But what if I need to patch a 
function's return value, or its arguments? Arg0 etc. are read-only ("operator = 
can only be applied to a writable variable"), so I can't assign to them. The 
same appears to apply to uregs[]. That seems to severely restrict the kinds of 
interventions I am allowed, particularly on register-based architectures.

Cheers
  -- perry


--
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to