首页 > 解决方案 > 如何确定程序试图打开哪些文件?

问题描述

我有一个为 Linux 服务器编译的程序。它是用 FORTRAN 编写的,尽管我认为这与这个问题并不特别相关。

在某些时候,程序吐出open: No such file or directory

然后终止。

问题是我不知道程序试图打开什么文件/目录。

如果有某种程序,有点像ldd(但不完全是)可以运行以显示二进制可执行文件试图打开的文件,那就太好了。

这样的事情存在吗?如果没有,有没有办法从 Linux 内核获取这些信息?

标签: linuxfiledebuggingexecutable

解决方案


man strace

在你的情况下strace -e openat $YOURPOGRAM


推荐阅读