【发布时间】:2013-07-22 05:09:00
【问题描述】:
以下是我的源代码:
#include <iostream>
#include <boost/shared_ptr.hpp>
class MyClass
{
public:
MyClass()
{
i=10;
}
private:
int i;
};
int main(int argc, const char *argv[])
{
boost::shared_ptr <MyClass> obj(new MyClass());
return 0;
}
我想查看gdb中的obj,查看成员变量i的值。
这是我用普通打印得到的:
29 boost::shared_ptr <MyClass> obj(new MyClass());
(gdb) n
30 return 0;
(gdb) p obj
$1 = {px = 0x602010, pn = {pi_ = 0x602030}}
我尝试了this link 中提到的技巧,但不起作用。
(gdb) call (obj.get())->print()
Cannot evaluate function -- may be inlined
还有其他方法吗? gdb 版本是 7.0.1。
【问题讨论】:
-
另一个好老朋友是plain printf :)
-
@Anand Rathi...,是的,但我只是想知道 gdb 是否可以做到这一点。
标签: c++ boost gdb shared-ptr