straceLinuxのデバッグユーティリティであり、プログラムが使用するシステムコールおよび受け取るシグナルを監視するものである。他のUnixシステムにおける「truss」に類似している。これはカーネルのptraceという機能により実現されている。

strace
作者 Paul Kranenburg
開発元 Roland McGrath, Dmitry Levin
最新版
5.10 / 2020年12月14日 (3年前) (2020-12-14)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語
対応OS Linux
プラットフォーム クロスプラットフォーム
サポート状況 開発中
種別 デバッグツール
ライセンス BSDライセンス
公式サイト http://sourceforge.net/projects/strace/
テンプレートを表示

Cygwinにおいても類似のユーティリティが提供されている。

使用法 編集

一般的な使用法として、プログラムをstraceを用いて開始し、これによりそのプログラムが呼ぶシステムコールの一覧が出力される。これはプログラムが頻繁にクラッシュしたり、意図したものとは異なる挙動をするときに有用である。straceを用いることにより、一例として、プログラムが存在しないファイルあるいは読み込むことができないファイルにアクセスしようとしていることが判明するということがある。

また、別の使用法として、-pフラグを用いることにより、実行中のプロセスにattachするというものがある。これはプロセスが応答しなくなったときに有用である。この場合の一例として、プロセスがネットワーク接続を確立する途中でブロックされていることが判明するということがある。

straceはシステムコールのみを出力するため、gdbのようなデバッガと比較して検知できる問題は限られる。しかし、デバッガより使用が容易であり、システム管理者が使用するには非常に有用なツールである。

類似のツール 編集

他のOSには以下の類似のデバッグツールがある。

脚注 編集

関連項目 編集

外部リンク 編集