我试图在我的 MacBook Pro 上使用 Eclipse Galileo 进行 C++ 代码调试,运行的操作系统是 Mac OS X v10.5(Leopard)。这是我第一次尝试。我有一个复杂的 C++ 程序需要进行调试,但为了测试情况,我只尝试进行以下调试和步骤:
#include <iostream>
using namespace std;
int main()
{
int x = 0;
cout << x << endl;
x = 54;
cout << x << endl;
return 0;
}
我点击了调试图标,告诉它使用 GDB (DSF) 创建进程启动器并开始逐步执行代码。我想能够监视 x 的值,所以我打开了变量窗口并观察。最初它是 4096 - 可能是一些垃圾值。当我按下下一行时,它显示了该值,现在显示以下错误:
Failed to execute MI command:
-var-update 1 var1
Error message from debugger back end:
Variable object not found
我似乎无法弄清楚这个问题或解决它。进行了几次谷歌搜索,却毫无头绪。
解决方案: 正如drhirsch在下面指出的那样,使用标准创建进程启动器而不是GDB创建进程启动器。(这实际上是一个解决方法而不是真正的解决方案,但它至少对我们中的两个人有效。)