我正在尝试使用 WinDBG 在源文件中创建断点。我在这里遵循了建议:http: //www.codeproject.com/Articles/22245/Quick-start-to-using-WinDbg,但是当我按 F5 时,我收到一条错误消息:
Unable to insert breakpoint 0 at 00db0861, Win32 error 0n998
"Invalid access to memory location."
我研究了这个错误,发现可能是因为我没有加载 CLR 即 .loadby sos clr。但是,当我运行此语句时,我收到一条错误消息:无法找到模块“clr”。如果我遵循此博客中的建议,我可以加载 CLR:http: //humblecoder.co.uk/uncategorized/spotting-a-memory-leak-with-windbg-in-net,但这是针对 ASP .NET 应用程序。
因此,如果我正在调试在 64 位进程中运行的 ASP.NET 应用程序,我可以加载 SOS.DLL,但在运行在 32 位进程中运行的 VB.NET 客户端应用程序时,我无法加载 CLR . 因此我有两个问题:
1) 是否加载 SOS.DLL 可能会解决原始问题(无法添加断点) 2) 为什么我在调试 ASP.NET 应用程序时能够执行 .loadby sos clr 语句,而不是 VB.NET 应用程序。