Unix 使用PTrace转储进程打开的文件

Unix 使用PTrace转储进程打开的文件,unix,process,trace,ptrace,Unix,Process,Trace,Ptrace,我已经熟悉并成功地转储了使用strace的进程打开的文件。 有了这个说法,Strues性能会导致我的软件退化,我想用C++来为我的软件实现包装,这样PTCRO将收集并转储由软件打开的文件。 我已经找到了关于如何附加和修改注册表的指南——但这对任何事情都没有帮助 感谢您的帮助。在linux上,您可以访问/proc//fd中所有打开文件的列表。该目录仅包含每个打开文件的一组符号链接;使用标准目录迭代,您可以非常轻松地创建打开文件的列表,例如,在终端上: ls -l /proc/$(pidof bas

我已经熟悉并成功地转储了使用strace的进程打开的文件。 有了这个说法,Strues性能会导致我的软件退化,我想用C++来为我的软件实现包装,这样PTCRO将收集并转储由软件打开的文件。 我已经找到了关于如何附加和修改注册表的指南——但这对任何事情都没有帮助


感谢您的帮助。

在linux上,您可以访问
/proc//fd
中所有打开文件的列表。该目录仅包含每个打开文件的一组符号链接;使用标准目录迭代,您可以非常轻松地创建打开文件的列表,例如,在终端上:

ls -l /proc/$(pidof bash)/fd/
要创建C/C++包装器,例如,您可以使用此相关问题中描述的技术: