Strace

straceはLinuxのデバッグユーティリティであり、プログラムが使用するシステムコールおよび受け取るシグナルを監視するものである。他のUnixシステムにおける「truss」に類似している。これはカーネルの"ptrace"という機能により実現されている。
Cygwinにおいても類似のユーティリティが提供されている。
使用法.
一般的な使用法として、プログラムをstraceを用いて開始し、これによりそのプログラムが呼ぶシステムコールの一覧が出力される。これはプログラムが頻繁にクラッシュしたり、意図したものとは異なる挙動をするときに有用である。straceを用いることにより、一例として、プログラムが存在しないファイルあるいは読み込むことができないファイルにアクセスしようとしていることが判明するということがある。
また、別の使用法として、-pフラグを用いることにより、実行中のプロセスにattachするというものがある。これはプロセスが応答しなくなったときに有用である。この場合の一例として、プロセスがネットワーク接続を確立する途中でブロックされていることが判明するということがある。
straceはシステムコールのみを出力するため、gdbのようなデバッガと比較して検知できる問題は限られる。しかし、デバッガより使用が容易であり、システム管理者が使用するには非常に有用なツールである。
類似のツール.
他のOSには以下の類似のデバッグツールがある。