linux - 如何确定程序试图打开哪些文件?
问题描述
我有一个为 Linux 服务器编译的程序。它是用 FORTRAN 编写的,尽管我认为这与这个问题并不特别相关。
在某些时候,程序吐出open: No such file or directory
然后终止。
问题是我不知道程序试图打开什么文件/目录。
如果有某种程序,有点像ldd
(但不完全是)可以运行以显示二进制可执行文件试图打开的文件,那就太好了。
这样的事情存在吗?如果没有,有没有办法从 Linux 内核获取这些信息?
解决方案
man strace
在你的情况下strace -e openat $YOURPOGRAM
。
推荐阅读
- python - 使用带有 Pandas 的 Google 表单替代已弃用的方法
- dart - Flutter Await 回调不给出任何响应
- json - Flutter JSON 重复索引
- python - Python 对具有不同名称的相同项目进行分组
- mysql - 如何为社交应用实现可扩展的通知系统?
- c# - 将 StorageFile 转换为字符串
- azure-ad-b2c - Azure B2C 检查用户是否存在?
- angular - xmpp 消息列表器中的问题,connection.addHandler() 不调用子组件(带有 angular6 的 xmpp)
- svn - svn add * --force 不添加递归
- php - 如何在 xampp ubuntu 中启用 sqlsrv - PDO 驱动程序?