gpt4 book ai didi

c++ - 如何在 GDB 中访问 std::tr1::shared_ptr 的目标

转载 作者:可可西里 更新时间:2023-11-01 16:57:52 42 4
gpt4 key购买 nike

如何在 GDB 中访问 std::tr1::shared_ptr 的目标。这不起作用:

(gdb) p sharedPtr->variableOfTarget

如果我尝试使用指针对象本身 (p sharedPtr),我会得到如下结果:

$1 = std::tr1::shared_ptr (count 2) 0x13c2060

使用普通指针,我可以执行 p *ptr 并获取所有数据或仅获取一个变量的 p ptr->variable

我在 Centos 6.5、GCC 4.4.7-4.el6 和 GDB 7.2-64.el6_5.2 上。

最佳答案

ptr->get() 并不总是有效。

当我尝试 ptr->get() 时,gdb 提示:无法将方法 ***:get() 解析为任何重载实例

我最终去/usr/include/找到shared_ptr 的源代码来查看private 成员。

原来是

ptr._M_ptr

它对我有用。源代码适用于所有人。

关于c++ - 如何在 GDB 中访问 std::tr1::shared_ptr 的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24917556/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com