如何使用 `-e` 跟踪 `recvfrom`?
How to strace `recvfrom` using `-e`?
调试一个主要执行套接字操作的多线程程序,我试图将 strace
限制为 recvfrom
和 sendto
。
如果我只指定 -f
和 -p <pid>
参数,我会看到(除其他外)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
来跟踪这两个系统调用。
调试一个主要执行套接字操作的多线程程序,我试图将 strace
限制为 recvfrom
和 sendto
。
如果我只指定 -f
和 -p <pid>
参数,我会看到(除其他外)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
来跟踪这两个系统调用。