有时VS autos / locals / watch会中断而不是变量/值我只有不同的类型:
CXX0029: Error: not struct pointer
CXX0033: Error: error in OMF type information
CXX0072: Error: type information missing or unknown
CXX0025: Error: operator needs class/struct/union
重建项目,清理PDB / NCB等并没有解决它。我该怎么办?
答案 0 :(得分:3)
请查看以下Microsoft支持说明:FIX: CXX0033 Error in OMF Type from Forward Class Declaration
一旦解决了支持说明中引用的PCH问题,我认为您的所有错误都将消失。
答案 1 :(得分:1)
实际上有一个解决方案可以让您继续使用预编译的标头:请查看此more recent KB article和documentation of the /Yl switch - 这似乎是针对此错误量身定制的。
只需添加到stdafx.cpp(或您自己的自定义/ Yc文件)命令行'/ Ylxxxx',其中xxxx代表lib中的任意函数名称。
我最近遇到的症状与你的相同(在VS2010中),这解决了我。
答案 2 :(得分:0)
您是否尝试调试“发布”版本?如果是这样,许多局部变量将不会作为“可调试”元素存在。您可以通过在程序集级别调试并查看寄存器值(与堆栈值,其中auto / local将在调试版本中)来解决此问题(如果您必须调试版本构建)并在“观看窗口“。
否则,构建Debug构建并调试构建版本。您将获得不满足前提条件的断言,转储到输出窗口的相关/不相关的东西,以及更直接的调试单步执行。