2013-07-20 40 views
0

我是一個較新的於DTrace的在Mac,高管的Dtrace,但控制檯無關顯示

當我執行的是代碼
sudo dtrace -n 'syscall::read:entry /execname != "dtrace"/ { @reads[execname, fds[arg0].fi_pathname] = count(); }

後來我EXEC貓filename在另一個控制檯。 但控制檯沒有任何顯示。

環境:
OS X 10.8.4
的DTrace:孫d 1.6.2

需要配置一些? 如何解決?

the deomo imgage

回答

2

嘗試sudo bash推出一個root shell,然後直接運行的DTrace沒有須藤。

下面是一個例子來思考:

[email protected]:~> sudo dtrace -n 'syscall::read:entry /execname != "dtrace"/ { @reads[execname, fds[arg0].fi_pathname] = count(); }' 
dtrace: description 'syscall::read:entry ' matched 1 probe 
^C 

[email protected]:~> dtrace -n 'syscall::read:entry /execname != "dtrace"/ { @reads[execname, fds[arg0].fi_pathname] = count(); }' 
dtrace: description 'syscall::read:entry ' matched 1 probe 
^C 

    bash            ??/<unknown (NULL v_name)>/ttys022        1 
    fseventsd           <unknown (not a vnode)>           1 
    mds             <unknown (not a vnode)>           1 
    Terminal           <unknown (not a vnode)>           2 
    firefox            <unknown (not a vnode)>           2 
    activitymonitor          <unknown (not a vnode)>           3 
    Terminal           ??/<unknown (NULL v_name)>/ptmx         5 
    Activity Monito          <unknown (not a vnode)>           8 
    Google Chrome H          <unknown (not a vnode)>           13 
    Google Chrome          <unknown (not a vnode)>           15 
    Google Chrome          ??/<unknown (NULL v_name)>/urandom        72 

Bizzarely,使用sudo而已經根源DTrace探測到不火。我猜測sudo會干擾DTrace權限。這對我來說是新的(顯然,我只在Mac OS X上從根shell運行dtrace)。我相信別人能更好地解釋這一點。

1

已經很晚了,但你可以做的,而不是產生一個根shell的是這個。

由於在使用Ctrl-C命令sudo時會丟失輸出緩衝區(因此輸出),因此您可以重寫腳本以使用profile提供程序轉儲結果。

配置文件提供程序提供了與每個固定的指定時間間隔觸發基於時間的中斷相關的探測。

dtrace -s /dev/stdin 

syscall::read:entry /execname != "dtrace"/ 
{ 
    @reads[execname, fds[arg0].fi_pathname] = count(); 
} 
profile:::tick-2sec 
{ 
    printa(@read); 
    trunc(@read); 
} 

Ctr-d 

enter image description here

我同意布蘭登的答案,但我總是儘量避免與持久的root shell工作,因爲我是一個比較草率和忘卻龜裂,遲早我會會致力於使用該root shell,這是一個糟糕的主意。

我希望MacOS X開發人員能夠在短時間內解決這個sudo問題。

另外我想說,雖然有幾個人在那裏,誰聲稱,sudo確實干擾dtrace行爲?除此之外,我沒有遇到任何問題,除了使用ctrl-c從衍生進程中丟失文件描述符。

相關問題