Eclipse CDT和GDB调试。结构成员的价值

时间:2012-01-25 13:21:18

标签: eclipse debugging gdb eclipse-cdt

我刚从Visual Studio 2010切换到Eclipse(Ubuntu)。

我有一个像CvCapture * capture这样的全局初始化结构。

如何在调试窗口中获取捕获成员的值?捕获甚至不会显示在“变量”窗口中。我添加了监视表达式,但我没有获得成员捕获值。

已编辑:屏幕截图http://tinypic.com/r/10s6x3q/5。另外,我无法在变量窗口中添加全局变量。它没有用。

1 个答案:

答案 0 :(得分:1)

struct CvCapture*是一个不透明的句柄(请参阅en.wikipedia.org/wiki/Opaque_pointer):用户不应该看到内部的内容
它的内容只在库代码中声明,你不能在任何导出的包含中找到它,比如highgui.h(它只是前向声明的),而Eclipse也没有。

你能做什么:
在调试模式下重新编译highgui库,将程序与它链接,启动调试会话并输入库的一个函数,例如cvGetCaptureProperty()。一旦gdb将能够看到struct CvCapture的内容(在_highgui.h中定义),Eclipse将向您展示。