我的一位同事今天遇到了一些 C++ 代码的问题。他正在调试对象虚方法的怪异行为。每当执行该方法时(在调试下,Visual Studio 2005 下),一切都出错了,调试器不会进入该方法,而是进入对象的析构函数!另外,对象的虚拟表,只列出了它的析构函数,没有其他方法。
我以前从未见过这种行为,并且打印了运行时错误,说明了有关ESP
寄存器的内容。我希望我能给你正确的错误信息,但我现在记不正确了。
无论如何,你们有没有遇到过这种情况?什么可能导致这种行为?那将如何解决?我们多次尝试重建项目,重新启动 IDE,没有任何帮助。我们还在_CrtCheckMemory
该方法调用之前使用该函数来确保内存处于良好状态,并且它返回true
(这意味着 ok )。我没有更多的想法了。你?