首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我知道gdb的类型,我如何看到boost::any的值

如果我知道gdb的类型,我如何看到boost::any的值
EN

Stack Overflow用户
提问于 2012-12-15 04:42:57
回答 1查看 853关注 0票数 7

我有一个核心转储,我正在用gdb查看核心转储。

我想知道是否有一种方法可以在gdb中检查boost::any value的值?

在核心中,我有一个用于增强any的地址,所以我尝试将其转换为占位符,看看是否可以检查该值,但我失败了。我知道boost any的类型是unsigned long,那么有没有一种方法可以查看Any值的类型?

代码语言:javascript
运行
复制
(gdb) print ('boost::any::placeholder')(*(('boost::any'*)0x00007f263fa27730).content)
warning: can't find linker symbol for virtual table for `boost::any::placeholder' value
warning:   found `boost::any::holder<bool>::~holder()' instead
$129 = warning: can't find linker symbol for virtual table for `boost::any::placeholder' value
warning:   found `boost::any::holder<bool>::~holder()' instead
warning: can't find linker symbol for virtual table for `boost::any::placeholder' value
warning:   found `boost::any::holder<bool>::~holder()' instead
{
  _vptr.placeholder = 0x7f2a9a662560
}

在这件事上的任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-02-18 10:08:44

boost::any有一个内部类placeholder,用于保存数据内容。尝试使用:

代码语言:javascript
运行
复制
(gdb) print (*((boost::any::holder<unsigned long>*)((anyInstance).content))).held
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13885978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档