【发布时间】:2011-01-10 12:46:03
【问题描述】:
我有一个与调试自编码 DLL 有关的非常奇怪的问题。我有一个 MFC 驱动的基于对话框的应用程序、几个静态链接的项目和几个在运行时加载的 DLL 项目。
我在调试中构建解决方案,运行应用程序,我可以轻松地调试那些 DLL 项目。现在的问题。如果 DLL 中有一些明显的运行时错误,如下所示
int* i = 0;
*i = 4;
调试器断言没有错误,不抛出异常,并静默返回空闲状态,甚至没有(可见的)堆栈返回。看起来当我在语句*i = 4; 上按 F10 时,控件返回到主应用程序窗口,程序继续执行,因为什么也没发生!如果代码中没有错误,它执行得很好。但我希望在这种情况下会断言错误!它们位于主应用程序的代码中。
我使用 LoadLibrary() 函数将我的 DLL 加载到应用程序中。 DLL 本身具有静态链接的 MFC,与解决方案中的所有其他项目相同。
有什么想法吗?甚至不知道要谷歌什么问题......
【问题讨论】:
标签: c++ dll visual-studio-2005 mfc debugging