2

在调试非托管(本机)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 提交了错误报告。

4

1 回答 1

2

Microsoft 确认这是 Visual C++ 2012 中的一个错误。在极少数情况下,我不应该受到责备...

于 2014-02-08T16:41:08.747 回答