我正在尝试在运行Mac OS X v10.5 (Leopard) 的 MacBook Pro 上使用 Eclipse Galileo 调试 C++ 代码。这是我第一次尝试这个。我有一个复杂的 C++ 程序要调试,但为了测试,我只是尝试调试并逐步执行以下操作:
#include <iostream>
using namespace std;
int main()
{
int x = 0;
cout << x << endl;
x = 54;
cout << x << endl;
return 0;
}
我单击了调试图标,告诉它使用GDB (DSF) Create Process Launcher 并开始逐步执行代码。我希望能够监控 x 的值,所以我打开了变量窗口并进行了观察。最初,它是 4096 - 大概是一些垃圾值。一旦我点击下一行,它显示了值,它现在显示以下错误:
Failed to execute MI command:
-var-update 1 var1
Error message from debugger back end:
Variable object not found
我似乎无法弄清楚或绕过它。一些谷歌搜索结果完全没有线索,甚至没有线索。
解决方案:正如drhirsch在下面指出的,使用 Standard Create Process Launcher 而不是 GDB Create Process Launcher。(这实际上是一种解决方法,而不是真正的解决方案,但它至少对我们两个人有效。)