LinuxでSolarisユーティリティのオプション-T
と-U
オプションと同等の機能はありますか?truss
これらは、トレースされたアプリケーションによって呼び出されたときに停止するシステムコール(-T
)またはライブラリ関数(-U
)を指定することです。
または、別の言い方をすれば、特定のシステム呼び出しまたは特定の共有ライブラリー関数呼び出しを行うとすぐに、トレースされたアプリケーションによって開始されたプロセスを(SIGSTOPによって強制終了されるかのように)停止させたいと思います。
strace
およびltrace
Linux上のSolarisの機能セットの多くを提供しtruss
、彼らはそれをやっているようには見えません。
例えば:
truss -f -T open cmd
strace -f cmd
実行中のプロセスcmd
またはその子孫のいずれかがopen
システムコールを実行した場合、すぐに停止されることを除きます(そして、都合の良いときに後で再開できます)。
いくつかのケースでは、私が使用できるgdb
のをcatch syscall
、私は便利なフォークに従うと、すべてのフォークのプロセスのためにそれをやって継続した後もそれをやって続けることができます解決策を探していたexecve
の。
私は同じ機能を提供するユーティリティを思い出すようです.1つ(またはその同じユーティリティのオプション)でも、そのようないくつかのsyscallのいくつかの発生の間のシングルステップアプリケーションに、そのようなメモリが私に失敗しています、私も確信できませんそれはLinuxでした。
follow-exec-mode
です()、私はそれを実験しています。厳密に質問に答えているわけではありませんが、必要なものには十分かもしれません。
truss
マンページへのリンクを追加しました。