如何调试我的DLL引起的C ++运行时错误?

时间:2010-06-22 17:10:24

标签: runtime-error

我在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获得以下消息:

无法中断执行。此过程当前未执行您选择调试的代码类型。

我应该如何调试?

2 个答案:

答案 0 :(得分:0)

启动调试器时是否尝试设置“本机代码”选项?

答案 1 :(得分:0)

C#不会生成本机代码!即使应用程序是本机的,C#也是在嵌套的CLR中执行的。选择“托管代码”。

此外,不是“全部中断”,而是在所有可能的异常上设置中断,然后将其运行到失败状态。