我刚刚注意到,我不能正确地用rvalue引用来调试gdb-7.7.1。
void simple(int &&i) {}当我输入这个极简函数时,我无法获得关于i的任何有意义的信息。它是类型的和值,是未知的 to gdb。
simple(int&&) (i=<unknown type in /tmp/test, CU 0x0, DIE 0xcd78>) at test.cpp:10
(gdb) p i
$2 = <unknown type in /tmp/test, CU 0x0, DIE 0xcd78>我做错了什么吗?有什么合理的解决办法吗?升级到gdb-7.10会解决这个问题吗?
发布于 2015-11-17 19:21:52
不幸的是,这是由GDB Bug:14441 -需要支持DW_TAG_rvalue_reference_type造成的。
这是在gdb8.0中修正的。
参考资料:bug.cgi?id=14441
解决方案
在固定之前,可以通过这样的显式铸造来获得上述示例中的i值:
(gdb) p *(int*)i
$3 = 69https://stackoverflow.com/questions/33586045
复制相似问题