仅显示系统调用的Strace命令

3

我试图提取一个安卓应用程序的系统调用序列。我正在使用Monkeyrunner进行随机点击。请问有谁可以告诉我如何仅获取正在使用的所有系统调用名称?

以下代码可以跟踪所有系统调用:

strace -p 3934 -e trace=open -o /data/App1Advise.csv

尝试移除 -e trace=open - Rohit5k2
@Rohit5k2 但是现在我的日志文件 App1Advise.csv 中出现了一些不需要的内容。是否有办法只获取系统调用的名称?我只想评估系统调用的顺序。 - Rockan
例如:clock_gettime、openat、read、writev、close。就像这样。 - Rockan
strace -p 3934 trace=openat,close,clock_gettime,writev,read -o /data/App1Advise.csv - Rohit5k2
1个回答

2

试试这个

strace -p 3934 -e trace=openat,close,clock_gettime,writev,read -o /data/App1Advise.csv

尝试使用 man strace 命令,你将会看到所有选项。

谢谢!只是确认一下,这个命令会给我列出所有系统调用序列吗?还是会跳过某些? - Rockan
无论你想要哪个系统调用,你都必须将其添加到列表中。我需要检查是否有一个默认显示所有系统调用的命令。 - Rohit5k2
我尝试使用参数-e trace=all,但它给了我所有系统调用的其他细节! - Rockan
我明天会检查这个特定的情况,并且如果我找到了任何问题,我会告诉你。 - Rohit5k2
太好了!谢谢 - Rockan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接