가 나는 2009 년 중반 맥북 프로와 2012 맥북 프로가 내가 DTrace를 (꽤 놀라운 도구)를 학습하는 과정에서 오전 발사하지 않는다. 새 2012 MBP에서 집계를 계산할 때 집계가 인쇄되지 않습니다.의 DTrace END 프로브는 결코
usbmuxd 1
GrowlHelperApp 2
imklaunchagent 2
installd 2
stackshot 2
...
2012 MBP 아무것도 표시되지 않습니다 : 내 2009 년 중반 MBP에
sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
, 그것은 뭔가를 보여줍니다.
은 내가 END 프로브도과 같이 해고 있는지 확인하기 위해 존재와 END 프로브에서의 printf를 추가 :BEGIN
{
printf("Hi!");
}
syscall:::entry
{
@[execname] = count();
}
END
{
printf("Bye!")
}
MBP 모두 프로브 해고 중반 2009 년
및 인쇄 및 2012 MBP에 만 BEGIN 프로브가 발사되었습니다. END는 결코 해고되지 않았습니다.
두 Mbps의 라이온 10.7.3를 실행하고 있습니다. 다음에 무엇을 시도해야할지 모르겠습니다. 지금 당장 생각해야 할 유일한 차이점은 2012 MBP에 개발자 명령 줄 도구를 설치하지 않았다는 것입니다. 그것은 나에게 의미가 없으며 어둠 속에서 한 발입니다.
도움이나 아이디어를 제공해 주시면 감사하겠습니다. 감사.
=============이 [사용 루트 계정]
==================== 그래서 내가 활성화 루트 계정과 명령을 전혀 성공
sudo dtrace -n 'syscall:::entry { @[execname] = count() }'
를 재 - 실행하지만
su
dtrace -n 'syscall:::entry { @[execname] = count() }'
을 할 경우 작동한다!
=============는 =========================== [INT -s 죽] ==
조금 더 실험했습니다. 내가 실행하면 :
sudo kill -s INT [pid of dtrace]
모든 것이 작동하고 출력이 표시됩니다.
나는 실행하는 경우 :
sudo kill -s INT [pid of sudo running dtrace]
이 또한 작품!
그러나 터미널에서 control-c를 사용하면 출력이 표시되지 않습니다.
제어-C와 -s INT를 죽일의 차이점은 무엇입니까?
시스템에서 [루트] (http://support.apple.com/kb/ht1528)를 사용하도록 설정하십시오. – Kentzo