我的应用程序因 SecurityException 而崩溃,说它需要文件 IO。如何找出正在访问的文件以便授予它权限?

Posted

技术标签:

【中文标题】我的应用程序因 SecurityException 而崩溃,说它需要文件 IO。如何找出正在访问的文件以便授予它权限?【英文标题】:My app is crashing with a SecurityException saying it needs file IO. How do I find out which file is being accessed so I can grant it permission? 【发布时间】:2018-08-26 22:32:41 【问题描述】:

我不想让它不受限制地访问文件系统...我怎样才能得到它要求FileIOPermission 的文件的名称?我在异常助手中四处寻找并没有看到任何东西......

【问题讨论】:

【参考方案1】:

您可以为此使用Sysinternal's ProcMon 工具,根据您的进程名称和操作(读取文件)进行过滤。

“Process Monitor 是用于 Windows 的高级监控工具,可显示实时文件系统、注册表和进程/线程活动。”

【讨论】:

嗯,如何让 DiskMon 显示文件名?我看到的只是扇区号,这并不是很有用...过滤器选项在哪里? @ekolis 对不起,我已经用心回答了,我已经更新了我的答案 嗯,如果我使用“我的电脑”权限运行我的应用程序,我会得到一堆它已经可以访问的无关文件,但如果我使用 Internet 权限运行它,那么我看不到在哪里它失败了;我猜访问文件的请求从未通过 ProcMon?或者它是否列在 IronPython 进程而不是我的应用程序的主进程下?崩溃的代码是 Python 代码。 @ekolis 将列在 IronPython exe 下。 即使我将 IronPython 作为 DLL 运行?

以上是关于我的应用程序因 SecurityException 而崩溃,说它需要文件 IO。如何找出正在访问的文件以便授予它权限?的主要内容,如果未能解决你的问题,请参考以下文章

应用程序因缺少权限请求而崩溃[重复]

没有详细信息的 java.lang.SecurityException

SecurityException:对签名 APK 上的错误接口的 Binder 调用

java.lang.SecurityException:不允许启动服务意图

SecurityException:权限拒绝:读取(仅在模拟器上)

致命异常:java.lang.SecurityException:缺少插入徽章的权限