0

我有一个报告挂起在事件日志中的 .Net 应用程序。事件说“应用程序挂起”,没有可用的详细信息。

因此,我创建了一个使用 ClrMD 库的 C# 控制台应用程序。但需要注意的是,这个应用程序是作为 RemoteApp 发布的。当我尝试将 ClrMD 附加到用户的进程时,我收到此错误:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException:无法附加到进程。错误 0。

这并不奇怪,因为我以管理员身份登录服务器,并且他们与不同的用户处于自己的 RDP 会话中。

因此,我决定冒充他们登录的用户,认为如果我以他们的身份运行我的 ClrMD 应用程序,它将有权访问该进程。这给了我一个不同的错误:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException:无法附加到进程。错误 1008。

我似乎找不到任何关于 1008 意味着知道从这里去哪里的线索。我意识到我可能正在尝试做一些不可能的事情。

  1. 有没有人让 ClrMD 附加到另一个用户的进程?
  2. 如果没有,是否有可以附加到其他用户进程的调试工具?
  3. 如果没有,人们是否在生产中使用过 ClrMD,我如何知道应用程序已挂起以知道何时触发 ClrMD 转储?只是在另一个后台线程中监视 UI 线程?
4

1 回答 1

0

有/有同样的问题。通过控制台应用程序在服务器上以管理员身份运行提升不起作用。但如果通过具有提升权限的 PowerShell 或 Visual Studio 本身运行,它确实有效。调试器需要管理员权限才能实时连接。作为控制台运行时,添加清单等似乎没有帮助。

于 2016-06-06T23:25:38.377 回答