标签: truss

相当于 Linux 上的“truss -T”和“truss -U”?

是否有与Solaris 实用程序的-T-U选项truss在 Linux 上执行的等效项。

这些是指定一个系统调用 ( -T) 或库函数 ( -U),当被跟踪应用程序调用时会导致它停止。

或者,换句话说,我希望被跟踪的应用程序启动的任何进程在执行给定的系统调用或给定的共享库函数调用后立即停止(就像被 SIGSTOP 杀死一样)。

strace并且ltrace在 Linux 上提供了 Solaris 的许多功能集truss,但他们似乎没有这样做。

例如:

truss -f -T open cmd
Run Code Online (Sandbox Code Playgroud)

会是这样strace -f cmd,只是如果在执行过程中cmd或任何其后代做任何open系统调用时,它会立即停止(我可以在我方便以后恢复它)

在某些情况下,我可以使用gdb's catch syscall,但我正在寻找一种可以方便地跟踪分叉并继续为所有分叉进程执行此操作的解决方案,即使在execves之后也继续执行此操作。

我似乎记得一些实用程序提供了相同的功能,甚至是一个(或同一实用程序的选项)在某些远程系统调用之间的单步应用程序,但我的记忆力让我失望,我什至无法确定那是在 Linux 上。

linux debugging signals system-calls truss

12
推荐指数
1
解决办法
8135
查看次数

标签 统计

debugging ×1

linux ×1

signals ×1

system-calls ×1

truss ×1