我在C#中为一个用C ++编写的主机应用程序编写了一个插件DLL(我没有主机应用程序的源代码)。当我运行主机应用程序时,它会加载我的DLL以便在该会话期间使用。最近,我在退出主机应用程序时看到以下错误:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: MyHostApp.exe
This application has requested the Runtime to terminate it in an unusual way...
此对话框仅包含“确定”按钮(无调试按钮)。按下确定后,主机应用程序退出时不会显示可能导致错误的原因。
我发现这个stackoverflow线程有类似的问题......
How to debug a Visual C++ Runtime Error
但是,每当我尝试将VS2008连接到崩溃的应用程序,然后按照指示执行“全部中断”时,我只会从VS获得以下消息:
“无法中断执行。此过程当前未执行您选择调试的代码类型。”
我应该如何调试?
答案 0 :(得分:0)
启动调试器时是否尝试设置“本机代码”选项?
答案 1 :(得分:0)
C#不会生成本机代码!即使应用程序是本机的,C#也是在嵌套的CLR中执行的。选择“托管代码”。
此外,不是“全部中断”,而是在所有可能的异常上设置中断,然后将其运行到失败状态。