私はDTraceを使って、 "自分のシェルスクリプトによって作られたシステムコール"を見たいと思っていました。script.shの実行に失敗しました:不明なエラー
私はshell.sh
、非常に単純なシェルスクリプトを作って、それが実行権限を与えた:
#!/bin/bash
grep 1 <<< 123
私はcd
「そのディレクトリにD、およびこの単純なDTraceスクリプト走った:私は
sudo dtrace -n 'syscall:::entry
/pid == $target/
{
@[probefunc] = count();
}' -c ./trace-me.sh
をこのエラー出力を取得します。
dtrace: failed to execute ./trace-me.sh: unknown error
ここで何が起こったのですか?私はcsrutil enable --without dtrace
を実行しました。 -c
argを削除して、$target
をpidに置き換えると、DTraceスクリプトはうまく動作します。
これはちょうど別のMacの問題ですか?私はmacOS Sierra 10.12.5 Betaを実行しています。
この回答を見ると、問題が解決する可能性があります。https://stackoverflow.com/a/36760408/499581 –