2013-05-03 35 views
0

我想在一个文件中获得多个strace调用的输出,
但我不知道如何。在一个文件中获取多个strace调用的输出

目前我正在使用:
strace -o tmpfile,但这只是放入一个文件的输出,然后用新输出覆盖文件。

有没有人有一个想法,如何做到这一点? 我希望这不是愚蠢的问题。

在此先感谢。

回答

0

我无法通过调用本身来执行此操作(在Android Shell中)。
我刚刚读完所有文件并将它们写入一个日志文件。
该解决方案减缓了整个过程,但却是我找到的唯一解决方案。

1

在bash外壳使用下面的命令

strace -o >(cat >>outputfile) command [args] ... 

这将传递给-o标志将出现类似的文件的参数,但将是代替一个文件描述符到

的标准输入
cat >>outputfile 

过程。这个过程将把它的输入附加到指定的输出文件。

+0

我忘了提及我在我的android手机上使用这个,所以我不能用这种方式使用猫。也许另一个想法如何实现这一点?谢谢。 – Naturjoghurt 2013-05-03 15:04:53

0

而不是strace -o somefile command,你可以只做strace command >> somefile?或者,假设strace的类似版本,我的strace手册指出这应该起作用:strace -o "|tail -a somefile" command-o "|command"功能由strace本身实现,而不是由shell实现)。

+0

第一个soultion(带>>)不起作用,因为>>无法识别。第二个版本提供了一个名为“| tail -a somefile”的文件,其中只包含最后一个strace调用。 – Naturjoghurt 2013-05-05 09:21:16

0

strace输出在stderr上,strace 2>> outfile为我做了诡计。如果你调用strace作为单个命令,你必须这样称呼它:adb -e shell "strace -p pid 2>> file"

相关问题