Debugging 如何使用“-e”从“recvfrom”中删除“recvfrom”?

Debugging 如何使用“-e”从“recvfrom”中删除“recvfrom”?,debugging,strace,Debugging,Strace,在调试一个主要执行套接字操作的多线程程序时,我尝试将strace限制为recvfrom和sendto。 如果我只指定-f和-p参数,我会看到(除其他参数外)recvfrom和sendto系统调用 但是,当我使用附加的-e recvfrom-e sendto时,我只看到sendto系统调用。 我使用的是strace 4.10(SLES12 SP4中的strace-4.10-3.1.x86_64)。 这可能是已知的错误吗?语法是[-eexpr]…,所以多个-e应该可以。只有最后一个-e获胜,所以您必

在调试一个主要执行套接字操作的多线程程序时,我尝试将
strace
限制为
recvfrom
sendto
。 如果我只指定
-f
-p
参数,我会看到(除其他参数外)
recvfrom
sendto
系统调用

但是,当我使用附加的
-e recvfrom-e sendto
时,我只看到
sendto
系统调用。 我使用的是strace 4.10(SLES12 SP4中的strace-4.10-3.1.x86_64)。
这可能是已知的错误吗?语法是
[-eexpr]…
,所以多个
-e
应该可以。只有最后一个
-e
获胜,所以您必须指定
-e recvfrom,sendto
来跟踪这两个系统调用。

这意味着手动页面的语法错误
[-eexpr]…
[-eexpr[,expr]…]
不同。这没有错,因为
recvfrom,sendto
表示单个表达式(
trace=recvfrom,sendto
)。