跪求大神解决gdb调试结构体的问题

WILLBeSoSo 发布于 2016/07/13 19:13
阅读 606
收藏 0


我在linux下gdb调试的时候老出现如下的问题,但是程序可以执行通过。运行有错误,一直在解决,头都炸了,求大家帮帮忙


打印parm是Parmeter定义一个变量。gdb地下我查看结构体的成员变量,发现只有manager和process_this这两个变量,但是pipe_fd变量我想查看一下,就直接显示There is no member name pipe_fd,很是郁闷啊,谁能告诉我这是为什么???

加载中
0
T
TheREALazy

p *parm 说明parm是一个指针;所以第二个parm.pipe_fd就是错误的?

你可以试试p *parm.manager.pipe_fd

WILLBeSoSo
WILLBeSoSo
刚才手误点了一下,改了过来。。但是。。我用ptype *parm查看了一下,只剩下结构体中manager和process_this这两个变量了,pipe_fd不见了。。。
0
WILLBeSoSo
WILLBeSoSo

还是这个问题,,不知道为什么

0
qhh0205
qhh0205
是不是代码改过了,没编译就直接调试了!
0
baozhuni
baozhuni

指针要用 -> 不要用 .

或者,用 . 的也可以,但是要加上星号 * 用括号括起来,就像写代码一样 (*ptr).member_1


如果是 void* 类型的指针,就要做类型强转,直接在指针前面加上 (ClassName*) ptr


返回顶部
顶部