简体   繁体   English

GDB核心转储请参阅容器的内容

[英]GDB core dump see content of container

I am poking around in a core dump ( for the first time ) and I am interested in the elements of a map m_my_map I can see the map with info args, but it also gives the following output 我正在一次核心转储中闲逛(这是第一次),我对映射m_my_map的元素感兴趣,我可以看到带有info args的映射,但它也提供以下输出

info args
m_my_map = <error reading variable m_my_map (Unhandled dwarf expression opcode 0xf3)

and when I try to see its content with 当我尝试查看其内容时

print m_my_map 
Unhandled dwarf expression opcode 0xf3

Is there a way to loop through the map and print the pairs? 有没有办法遍历地图并打印对?

DWARF opcode 0xf3 comes from the "user" area of the opcode range; DWARF操作码0xf3来自操作码范围的“用户”区域。 but it is probably DW_OP_GNU_entry_value , which is a GNU extension in DWARF 4 (now standardized in DWARF 5, but with a different value). 但它可能是DW_OP_GNU_entry_value ,它是DWARF 4中的GNU扩展(现在已在DWARF 5中进行了标准化,但具有不同的值)。

What this means for you is that you are most likely using a GDB that was released before the version of GCC that you are using. 这对您来说意味着您最有可能使用的GDB是在您使用的GCC版本之前发布的。 The solution to your problem, then, is to upgrade GDB. 那么,解决您的问题的方法是升级GDB。 After you do this, printing the map will most likely work. 完成此操作后,将很有可能打印地图。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM