为使用ltrace / strace运行的可执行文件提供命令行参数

时间:2014-08-31 18:14:13

标签: c command-line-arguments strace ltrace

标题上写着所有朋友!

如何将命令行参数提供给我想使用ltrace / strace监视其执行的可执行文件?

例如,如果可执行文件是'a.out'并且我想将ltrace的输出存储在文件'out.txt'中,而'arg1'是我想要传递给可执行文件的命令行参数,那么我试过的命令就是这个       “ltrace ./a.out -o arg1 out.txt”

问题是我的程序只适用于单个命令行参数,所以当我运行上面的命令时,我的程序将其解释为多个命令行参数,并在打印“Usage”消息后停止执行(它是实际上是为了做到这一点,但在这里我想监视它正在制作的库调用。

有人可以帮帮我吗?提前致谢。 :)

1 个答案:

答案 0 :(得分:6)

尝试在执行命令之前传递-o

ltrace -o out.txt ./a.out arg1

这样ltrace将获得-o out.txt,然后执行a.out,并将命令行的其余部分传递给它。