0

我有一个尝试使用 CLRProfiler 分析的应用程序,它是用 .NET 4.0 编写的,并且 WPF 在 .NET Framework 4 Client Profile 上运行。应用程序在启动后不久加载一个数据文件,该文件的位置在 app.config 中(因此在程序运行时不会以交互方式选择它)。从 Visual Studio 或 Windows 资源管理器启动应用程序时,一切正常。

但是,当从 CLRProfiler 启动应用程序时,应用程序在UnauthorizedAccessException尝试加载文件时崩溃。

尝试解决此问题时,我将所述文件的完全控制权限授予我自己、域用户和所有人,但问题仍然存在。监视任务管理器时,显示的短暂进程已在我的用户 ID 下启动。

有谁知道如何用 CLRProfiler 解决这个问题?

4

1 回答 1

0

最终,这被证明是两个问题的结合:

  1. 没有以管理员身份运行。

  2. 上面引用的数据文件在配置文件中指定了路径,但路径是相对的。当 CLRProfiler 启动应用程序时,工作目录仍然是分析器的工作目录,而不是切换到正在分析的应用程序。由于我是非特权运行的,因此无法打开数据文件实际上表现为一个,UnauthorizedException因为应用程序没有权限在安装探查器的文件夹中进行 root。

在更正这两个之后(第一个通过以管理员身份运行,第二个通过更改配置文件以使用绝对路径),问题消失了。

于 2013-02-04T16:13:55.100 回答