使用MinGW进行Eclipse调试:无法执行MI命令

时间:2013-01-21 11:17:40

标签: c++ eclipse mingw

我新安装了Eclipse Juno 32位,并安装了新的MinGW 32位,我的平台是Windows 7 64位。在尝试调试一个简单的程序时,我可以看到非常简单的表达式,但是更复杂的一切都会给我一个错误。有关以下程序中的示例:

int main()
{
  vector<int> vRings;
  for(int i=0;i<50;i++) {
    vRings.push_back(i%5);
  }
  //std::cout << "result:" << getRingNumber(vRings,vDiscs);
  return 0;
}

在观察窗口中,观看vRings正常工作,但尝试观看矢量内容不起作用:

尝试观看vRings [0]:

  

错误:报告了多个错误。\无法执行MI命令:-var-create - *   vRings [0]来自调试器后端的错误消息:找不到   operator []。\无法创建变量对象

尝试观看vRings.at(0):

  

vRings.at(0)错误:报告了多个错误。\无法执行MI   命令:-var-create - * vRings.at(0)来自调试器的错误消息   结束:无法评估功能 - 可能内联\无法创建   变量对象

我该怎么做才能解决问题?

1 个答案:

答案 0 :(得分:0)

您正在尝试观看函数调用的结果。 vRings.at()vRings[]都是函数(后者是重载函数),它返回对值的引用。在你的情况下 - 一个整数。

如果要在索引0处观察vRings的值,可以尝试在某个时刻将其分配给变量,例如:

int main()
{
      vector<int> vRings;
      for(int i=0;i<50;i++) {
        vRings.push_back(i%5);
      }
      int watchme = vRings.at(0);
      //std::cout << "result:" << getRingNumber(vRings,vDiscs);
      return 0;
}

然后您可以观看变量watchme