调试非托管( native )C++ 程序时,每当我尝试计算 Watch 中的表达式、跟踪点中的表达式或执行“立即”窗口中的任何内容时,都会收到错误“发生了未指定的错误”。工具提示评估器也不起作用。唯一显示变量的窗口是“Locals”; “自动”窗口是空的。这是它在 watch 中的样子:
此问题出现在两台不同的计算机上(因此不太可能出现配置问题),但仅出现在一种特定的解决方案上。该项目最近从 Visual C++ 2008 迁移而来,一切都很好。显然,我确保调试信息在那里,并且优化已关闭。重建一切并没有帮助谷歌什么都不知道。
我能做些什么呢?
------------ 编辑2: -----------
我设法隔离了问题。调试器似乎无法检查名为“NI”的命名空间中的类方法中的变量。要重现该问题,请编译此代码并在指示的位置放置一个断点。监 window 口将无法工作。
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 提交了错误报告。
最佳答案
Microsoft 确认这是 Visual C++ 2012 中的一个错误。极少数情况下,我不是负责的人......
关于visual-c++ - VC++2012 调试器无法计算表达式 - "An unspecified error has occurred",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21440146/