适用于 .Net 的 Fuslogvw.exe 工具不显示 UI

发布于 2024-08-23 02:55:43 字数 117 浏览 4 评论 0原文

我正在尝试在 Win 2008 R2 系统上使用fuslogvw.exe。它显示进程已启动并使用 CPU,但没有出现 UI。我已经在管理模式下尝试了 32 位和 64 位版本,但没有成功。我在事件日志中没有看到任何问题。

I'm trying to use fuslogvw.exe on a Win 2008 R2 system. It shows the process started and using CPU but no UI appears. I've tried the 32bit and 64bit version in and not in admin mode but no luck. I don't see anything in the event log as a problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

山色无中 2024-08-30 02:55:43

如果您无法使 UI 正常工作,则实际上不需要配置和查看融合日志。您可以在注册表中的 HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion 键下设置融合日志设置,然后直接从您配置的目录中查看日志(因为它们只是 HTML 文件)。

如果要使用注册表配置日志,则需要设置以下键(来自此处< /a>):

  • LogFailures = 1(DWORD 值)
    这将打开失败日志记录,以便记录定位所有程序集的失败尝试。

  • LogResourceBinds = 1(DWORD 值)
    这将打开故障日志记录,以便记录定位卫星组件的失败尝试。默认情况下不记录此信息。

  • ForceLog = 1(DWORD 值)
    这将打开所有程序集绑定的日志记录 - 包括失败和成功。默认情况下,仅记录失败。如果您想验证程序集是否从特定目录而不是全局程序集缓存加载,这非常有用。

  • LogPath = "C:\fusionlogs\"(字符串值)
    如果您想方便地查看融合日志,请将LogPath设置为输出日志的目录。默认情况下,日志文件位于当前用户配置文件的 Temporary Internet Files 文件夹中。对于 ASP.Net 或 .Net Windows 服务应用程序,查看融合日志的唯一方法是使用此选项。这是因为它们以当前用户以外的用户身份运行。指定的目录必须已存在并且具有适当的文件写入权限。对于 ASP.Net 应用程序,ASPNET 用户必须具有对该目录的写入权限。如果权限错误,将不会有日志输出。

If you cannot get the UI to work, it is not actually needed to configure and view the fusion logs. You can set the fusion log settings in the registry under the HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion key, and then view the logs directly from the directory you have configured (as they are just HTML files).

If you want to configure the logs using the registry, you need to set the following keys (from here):

  • LogFailures = 1 (DWORD Value)
    This turns on failure logging so that failed attempts to locate all assemblies are logged.

  • LogResourceBinds = 1 (DWORD Value)
    This turns on failure logging so that failed attempts to locate satellite assemblies are logged. This is not logged by default.

  • ForceLog = 1 (DWORD Value)
    This turns on logging for all assembly binds - both failures and successes. By default, only failures are logged. This is useful if you want to verify that an assembly is loading from a specific directory instead of from the global assembly cache.

  • LogPath = "C:\fusionlogs\" (String Value)
    If you want to view the fusion logs easily, set the LogPath to a directory to output them to. By default the log files go into the Temporary Internet Files folder of the current user’s profile. For an ASP.Net or a .Net Windows service application, the only way to view the fusion log is to use this option. This is because they run as users other than the current user. The directory specified must already exist and have appropriate file permissions to be written to. For ASP.Net applications, the ASPNET user must have write permission to the directory. If the permissions are wrong, there will be no log output.

a√萤火虫的光℡ 2024-08-30 02:55:43

我最近遇到了完全相同的问题。 fuslogvw.exe 会启动,但似乎在启动时冻结。

事实证明,我上次检查绑定日志时忘记关闭日志记录。因此,我现在在 Default 中拥有 40000 个文件夹,在 Native 中拥有类似数量的文件夹(以及数十万个日志文件)。我只能假设日志查看器在启动时试图加载所有这些内容,这就是它停止运行的原因。

删除日志,日志查看器按预期启动。

I recently ran into the exact same issue. fuslogvw.exe would start but seemingly freeze on startup.

As it turns out, I had forgotten to turn off logging last time I was checking binding logs. So I now had in the range of 40000 folders in Default and a similar amount in Native (and hundreds of thousands of log files). I can only assume that the log viewer was trying to load all of these up as it was starting and that's what stopped it in its tracks.

Deleted the logs and the log viewer starts up as expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文