VC ++ 2012调试器无法计算表达式 - “发生了未指定的错误”

时间:2014-01-29 18:58:33

标签: visual-c++ visual-studio-debugging visual-c++-2012

在调试非托管(本机)C ++程序时,每当我尝试在Watch中或在跟踪点中计算表达式或在“立即”窗口中执行任何操作时,都会收到错误“发生了未指定的错误”。工具提示评估程序也不起作用。显示变量的唯一窗口是“Locals”; “Autos”窗口为空。以下是Watch中的样子:

enter image description here

在两台不同的计算机上出现此问题(因此不太可能出现配置问题),但仅限于一个特定的解决方案。这个项目最近从Visual C ++ 2008迁移,一切都很好。显然,我确保调试信息存在,并且优化已关闭。重建所有没有帮助谷歌一无所知。

我该怎么办?

----------- 编辑2: -----------
我成功地解决了这个问题。似乎调试器无法检查名为“NI”的命名空间中的类方法中的变量。要重现该问题,请编译此代码并在指示的位置放置断点。 Watch窗口不起作用。

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;
}

我向微软提交了一份错误报告。

1 个答案:

答案 0 :(得分:2)

微软证实这是Visual C ++ 2012中的一个错误。这是一个罕见的情况,当时我不是那个应该责备的人......