标题已经说明了一切啦!
如何向要使用 ltrace/strace 监视其执行情况的可执行文件提供命令行参数?
例如,如果可执行文件是“a.out”,并且我想将 ltrace 的输出存储在文件“out.txt”中,并且“arg1”是我想传递给可执行文件的命令行参数,那么命令 I试过的是这个 “ltrace ./a.out -o arg1 out.txt”
问题是我的程序被设计为仅适用于单个命令行参数,因此当我运行上述命令时,我的程序将其解释为多个命令行参数,并在打印“使用”消息后停止执行(它实际上是设计的)来做到这一点,但在这里我想监视它正在进行的库调用)。
有人可以帮我吗?提前致谢。 :)
尝试在要执行的命令之前传递
-o
:
ltrace -o out.txt ./a.out arg1
这样
ltrace
将获得 -o out.txt
,然后执行 a.out
,将命令行的其余部分传递给它。
使用双破折号显然也有效:
ltrace [arguments to ltrace] -- command [arguments to command]
这个“技巧”显示在 ltrace 命令行的语法中,尽管手册中没有解释。我试了一下(Linux Mint with bash)。