Tengo una MacBook Pro a mediados de 2009 y una nueva MacBook Pro 2012 y estoy en proceso de aprender DTrace (una herramienta bastante sorprendente). Cuando calculo los agregados en el nuevo MBP 2012, los agregados no se imprimen.La sonda DTrace END nunca dispara
sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
En mi mediados de 2009 MBP, se nota algo como:
usbmuxd 1
GrowlHelperApp 2
imklaunchagent 2
installd 2
stackshot 2
...
La MBP 2012 no muestra nada.
he añadido un printf en una sonda de SER y final para ver si la sonda final sería incluso un incendio de este modo:
BEGIN
{
printf("Hi!");
}
syscall:::entry
{
@[execname] = count();
}
END
{
printf("Bye!")
}
Por mediados de 2009 MBP ambas sondas dispararon e impreso y en el 2012 MBP solamente la sonda BEGIN disparada El FIN nunca disparó.
Ambos MBP ejecutan Lion 10.7.3. No estoy seguro de qué probar después. La única diferencia que me viene a la mente en este momento es que no he instalado las herramientas de línea de comando del desarrollador en el MBP 2012. Sin embargo, eso no tiene sentido para mí y es un tiro en la oscuridad.
Cualquier ayuda o idea sería apreciada. Gracias.
============= [Cuenta Raíz Habilitado] ====================
Así que permitió a la cuenta root y re-ejecutó el comando
sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
sin éxito, pero si lo hago
su
dtrace -n 'syscall:::entry { @[execname] = count() }'
funciona!
============= [matan -s INT] =========================== ==
He hecho un poco más de experimentación. Si ejecuto:
sudo kill -s INT [pid of dtrace]
todo funciona y se muestra la salida.
Si me quedo:
sudo kill -s INT [pid of sudo running dtrace]
funciona esto también!
Pero si uso control-c en el terminal, no muestra la salida.
¿Cuál es la diferencia entre control-c y kill -s INT?
Pruebe [para habilitar "raíz"] (http://support.apple.com/kb/ht1528) en su sistema. – Kentzo