Eclipse CDT Kepler 不允许“显示为数组...”
Posted
技术标签:
【中文标题】Eclipse CDT Kepler 不允许“显示为数组...”【英文标题】:Eclipse CDT Kepler does not allow "Display as array..." 【发布时间】:2013-08-08 18:09:45 【问题描述】:我正在尝试使用 Eclipse CDT 调试 C++ 程序:
#include <vector>
using namespace std;
int main()
vector<int> test (4,100);
return 0;
如果我放置一个断点进行调试,并为我的向量变量单击“显示为数组...”,我会收到以下错误:
(*((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) 创建进程启动器
【问题讨论】:
【参考方案1】:Eclipse 可以,查看快照和说明here 和here。 This 的帖子也帮助了我。
【讨论】:
【参考方案2】:更深入地了解std::vector
变量的结构,然后寻找s.th。命名为 _M_start
或类似名称(可能取决于实现)。
将此转换为您知道并希望看到的最终类型数组。
原因是,std::vector<T>
只是在内部包装和管理T
的数组,因此不能显示为数组本身。
【讨论】:
这可行,但它并不漂亮。 eclipse 不能在内部做一些事情来解决这个问题并以一种更加用户友好的方式显示信息吗? @NealKruis 作为功能请求发送或participate以上是关于Eclipse CDT Kepler 不允许“显示为数组...”的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse Kepler 不允许在三星 Galaxy S4 上进行调试