今天我在运行时遇到了非常奇怪的异常。我试图一步步调试,但异常发生在 main()
调用之前。
因此,我删除了所有包含内容和整个代码(对其进行了注释),并添加了一个空的 main()
函数。
编译后又发生了。也许是项目配置错误?
顺便说一句:发生异常后,VC10 调试器转到 strlen.asm 并显示空指针。
VS10 解决方案有 2 个项目,第二个项目工作得很好,第一个项目也很好,但在我编译第二个项目后,它停止工作。
这些项目具有相同的二进制输出,但每个项目都有一个额外的输出文件夹,用于存放 obj 等文件。
那么,那里发生了什么?
最佳答案
问题很可能是全局或静态对象初始化的一部分,然后使用空指针调用 strlen
。您的 .cpp 中有全局变量吗?或者某些类中有任何静态吗?
请注意,即使您从 main.cpp 中删除所有内容,其他 .cpp 文件仍然会被编译并导致错误。
关于c++ - Visual C++ 10 运行时出现奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241689/