DTrace: отслеживание размера стека пользователя в OS X? (Curthread->t_procp->p_stksize?)
Я сталкивался с этим простым сценарием DTrace для отслеживания размеров стеков пользователей, но он не работает на OS X Mountain Lion:
dtrace -n 'sched:::on-cpu { @[execname] = max(curthread->t_procp->p_stksize);}'
(от: http://www.solarisinternals.com/wiki/index.php/DTrace_Topics_One_Liners)
Ошибка, возвращаемая на OS X:
dtrace: invalid probe specifier sched:::on-cpu { @[execname] =
max(curthread->t_procp->p_stksize);}: in action list:
t_procp is not a member of struct thread
В самом деле, я с трудом пытаюсь выяснить, каковы действительные члены "curthread" в OS X. Есть ли эквивалентный способ детализации до текущего размера стека пользователя для потока? Или "curthread" - просто непрозрачный указатель на OS X, используемый только для идентификации потока? Обратите внимание, что я был бы так же рад выполнить эту трассировку через провайдера pid, если это поможет.
Спасибо!