c# - WinDBG: .loadby clr 给出 "Syntax error in extension string"

标签 c# windbg

我是 WinDBG 的新手。在 Windows 7 Pro 64 位上,我需要调试正在运行的 32 位应用程序,该应用程序加载 .NET 代码、打开 Silverlight、调用 WebBrowser 非托管 ActiveX 控件,然后导致 IE 证书错误。我需要调试该证书错误——也就是说,非托管 ActiveX 部分。这是我的步骤:

> launch WinDBG.exe x86
> Click File -> Open Executable -> (open MYPROG.EXE)
> .load psscor2
> .loadby sos clr
Unable to find module 'clr'

> .loadby sos
Syntax error in extension string

想法?

最佳答案

.loadby 命令是一个快捷方式,它避免了键入 sos.dll 文件的完整路径名。它使用第二个参数 clr.dll 的路径来确定 sos.dll 的存储位置。仅当已加载 clr.dll 时才有效。

这不是你的情况,Silverlight 无疑会在稍后初始化。而且它不使用 clr.dll,它使用 .NETCore 版本的 CLR,coreclr.dll。另请注意,Silverlight 有自己的 sos.dll 版本

所以你必须输入全名:

   .load "C:\Program Files (x86)\Microsoft Silverlight\5.1.41212.0\sos.dll"

如有必要,将 5.1.41212.0 替换为您计算机上的 Silverlight 版本。

关于c# - WinDBG: .loadby clr 给出 "Syntax error in extension string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611255/

相关文章:

c# - 我应该何时以及如何使用枚举类而不是枚举?

c# - 不使用 AssemblyName 解析程序集限定名

windows - 使用1394连接调试Windows XP内核

clr - 获取 !dumpheap -stat 中未列出的 ValueTypes 的名称/MT 的有效方法

windbg - ClrMD 中的 ip2md 等价物是什么

c++ - Windbg类型类型转换

c# - .NET 中的多层应用程序

c# - 是否有任何传递的方法接受 UTC 的时区偏移量并在 C# 中计算时区?

c# - 为 gridview 提供一种在所有系统中都不存在的字体

vmware - 使用Windbg调试win2008