m.d*_*han 19 c++ boost gdb shared-ptr
以下是我的源代码:
#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;
}
Run Code Online (Sandbox Code Playgroud)
我想检查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}}
Run Code Online (Sandbox Code Playgroud)
我尝试了此链接中提到的提示,但无法正常工作.
(gdb) call (obj.get())->print()
Cannot evaluate function -- may be inlined
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?gdb版本是7.0.1.
m.d*_*han 30
得到它了.!
(gdb) set print pretty
(gdb) p obj
$5 = {
px = 0x602010,
pn = {
pi_ = 0x602030
}
}
(gdb) p obj.px
$6 = (MyClass *) 0x602010
(gdb) p *(obj.px)
$7 = {
i = 10
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11078 次 |
| 最近记录: |