在调试非托管(本机)C++ 程序时,每当我尝试在 Watch 或跟踪点中评估表达式或在“即时”窗口中执行任何操作时,都会收到错误消息“发生了未指定的错误”。工具提示评估器也不起作用。唯一显示变量的窗口是“Locals”;“汽车”窗口为空。这是它在手表中的样子:
此问题发生在两台不同的计算机上(因此不太可能出现配置问题),但仅发生在一个特定的解决方案上。该项目最近从 Visual C++ 2008 迁移而来,一切都很好。显然,我确保调试信息在那里,并且优化已关闭。重建一切没有帮助谷歌一无所知。
我能做些什么呢?
-----------编辑2: ------------
我设法隔离了问题。调试器似乎无法检查名为“NI”的命名空间中的类方法中的变量。要重现此问题,请编译此代码并在指示的位置放置一个断点。监视窗口将不起作用。
namespace NI
{
class Test
{
public:
static void helloworld();
};
void Test::helloworld()
{
int i = 0; // <------- insert breakpoint here
}
}
int _tmain(int argc, _TCHAR* argv[])
{
NI::Test::helloworld();
return 0;
}
我向 Microsoft 提交了错误报告。