Eclipse CDT Kepler不允许“显示为数组...”

时间:2013-08-08 18:09:46

标签: c++ gdb eclipse-cdt

我正在尝试使用Eclipse CDT调试C ++程序:

#include <vector>
using namespace std;

int main() {
  vector<int> test (4,100);
  return 0;
}

如果我放置一个断点进行调试,然后单击“Display as Array ...”作为我的矢量变量,我会收到以下错误:

(*((test)+0)@4) Error: Multiple errors reported.\ Failed to execute MI command: -var-create - * (*((test)+0)@4) Error message from debugger back end: No symbol "operator+" in current context.\ Unable to create variable object

如何在调试时查看数组的值?

我正在使用:

  • Eclipse 4.3(开普勒)
  • Ubuntu 13 64位
  • gcc 4.7.3(使用-g3-O0编译)
  • gdb 7.5.91
  • GDB(DSF)创建流程启动器

2 个答案:

答案 0 :(得分:2)

Eclipse可以查看快照以及说明herehereThis帖子也帮了我。

答案 1 :(得分:1)

深入了解std::vector变量的结构,并寻找s.th.命名为_M_start或类似(可能依赖于实现) 将此视图转换为您知道并希望查看的最终类型数组。

原因是,std::vector<T>只在内部包装和管理T数组,因此无法显示为数组本身。