提问人:tdemay 提问时间:7/12/2017 更新时间:7/12/2017 访问量:576
JIT 调试 .NET
JIT Debugging .NET
问:
我在 Visual Studio 2010 中使用 C# 创建了一个服务。使用 .NET Framework v4.0。在 Windows 7 32 位计算机上运行。该服务调用我创建的本机 DLL。此 DLL 引发访问冲突。
我无法调试它,需要帮助。
我启动服务并以管理员身份运行我的 IDE。该服务在我登录计算机时使用的同一用户帐户下运行。我使用托管 v4.0 和本机附加代码类型附加到服务。但是当它崩溃时,会弹出一个对话框,显示我的应用程序中出现“未处理的 Microsoft .NET 框架异常”。 “实时调试器是在没有必要的安全权限的情况下启动的。若要调试此过程,必须以管理员身份运行实时调试器。是否要调试此过程?即使我使用“以管理员身份运行”启动了 Visual Studio。
当我单击“是”时,我收到另一个警告“当前调试器配置为调试使用 Microsoft .NET Framework v1.0、1.1 或 2.0 的代码。.NET Framework v4.0 代码中引发了未经处理的异常”。即使我使用 Managed v4.0 和 Native 附加到进程。(我只尝试过 Managed v4.0 并得到相同的结果)。
单击“确定”,然后启动 IDE 的新实例。然后,IDE 将显示一条警告,指出“无法附加到崩溃的进程。调试器已附加。
所以我再试一次,这次没有附加调试器,希望得到相同的JIT弹出窗口,这样我就可以在崩溃后附加,但我没有。该过程就消失了,或者我得到了关于创建小型转储并将其发送到 Microsoft 的通常对话框。
因此,我尝试满足于完全崩溃转储。
我按照收集用户模式转储中的说明创建完整转储。我将观察 WerFault.exe 在任务管理器中启动,并观察文件创建,当 WerFault 完成时,故障转储消失或堆栈跟踪缺少本机代码。
我似乎不时在调试.NET进程时遇到类似的问题。如何可靠地配置计算机,以便进行 JIT 调试?
答: 暂无答案
评论