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, если это поможет.

Спасибо!

0 ответов

Другие вопросы по тегам