【发布时间】:2012-07-14 11:57:00
【问题描述】:
我正在尝试使用 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,但在运行在 VB.NET 客户端应用程序中运行时,我无法加载 CLR 32位进程。因此我有两个问题:
1) 加载 SOS.DLL 可能会解决原始问题(无法添加断点) 2) 为什么我在调试 ASP.NET 应用时可以执行 .loadby sos clr 语句,而不是 VB.NET 应用。
【问题讨论】: