Help us understand the problem. What is going on with this article?

MacOSXでstraceが欲しいけどdtrace意味わからん→dtruss使おう

More than 3 years have passed since last update.

Linux環境でstraceを使ったことがあるとMacOSXでも同じことがしたくなりますよね。

とはいえ、MacOSXだとdtraceコマンドってのがあるらしいけど、オプション指定も複雑怪奇で意味わかんない、システムコールだけ気軽に見たいって人も多いのではないでしょうか。

そんなときはdtrussコマンドを使いましょう。このコマンドはdtraceと同じ仕組みでシステムコールだけ見せてくれます。

straceと違って、自分がownerのプロセスであってもroot権限が必要なことに注意してください。

$ sudo dtruss -p 452
Password:
(以下システムコールの羅列)

manpageを見るとtruss(SysV系のコマンドなんすかね…?)のDTrace版だよ、なんてことが書いてあったりして、オプションはstraceと違ったりもします。とはいえdtraceコマンドを調べながら使うよりは断然楽なのでオススメです。

dtruss経由でコマンド起動したい

dtrussはroot権限を要求するのですが、sudo dtruss <command>などとすると挙動が変わって不便だったりします。次のようにすればコマンド自体は元のユーザー権限で動かしつつdtrussすることが可能です。

$ sudo dtruss -f sudo -u $(id -u -n) <command>
hnw
境界値バグが大好物。自分の日記で書くには小ネタすぎるネタをQiitaに書いています。
https://hnw.hatenablog.com/
klab
モバイルオンラインゲーム、その他スマートフォン関連サービス、及びサーバーインフラ開発・運用
http://www.klab.com/jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした