我有一个为Linux服务器编译的程序。它是用FORTRAN编写的,尽管我认为这与问题无关。
程序有时会弹出 private void Window_Loaded(object sender, RoutedEventArgs e)
{
browser.DocumentCompleted += OnDocumentCompleted;
host.Child = browser;
GridWeb.Children.Add(host);
#region Collect All Offers
foreach (var site in sites.OrderBy(x => x.Name))
{
_site = site;
url = site.Url;
browser.Navigate(site.Url);
}
#endregion
}
然后终止。
问题是我不知道程序尝试要打开哪个文件/目录。
如果有某种程序,比如open: No such file or directory
(但不完全是),它可以运行以显示二进制可执行文件试图打开的文件,那真是太好了。
这样的东西存在吗?如果没有,是否可以从Linux内核获取此类信息?
答案 0 :(得分:1)
man strace
在您的情况下,strace -e openat $YOURPOGRAM
。
答案 1 :(得分:1)
有一个名为strace的程序可以做到这一点
strace -f -e open <exe>
请参见https://linux-audit.com/monitor-file-access-by-linux-processes/