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

Éti*_*nne 8 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;
}
Run Code Online (Sandbox Code Playgroud)

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

试图观看vRings [0]:

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

试着看vRings.at(0):

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

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

ron*_*onh 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;
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以观察这个变量了watchme