我刚刚注意到我无法调试rvalue参考文献与gdb-7.7.1
适当地。
void simple(int &&i) {}
当我输入这个简约函数时,我无法获得任何有意义的信息i
. It's type and value are unknown 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
解决这个问题issue?
不幸的是,这是由GDB Bug : 14441 - 需要支持 DW_TAG_rvalue_reference_type
这是GDB 8.0 中已修复.
参考: https://sourceware.org/bugzilla/show_bug.cgi?id=14441 https://sourceware.org/bugzilla/show_bug.cgi?id=14441
解决方法
直到其值固定为止i
上面的例子可以通过显式转换获得:
(gdb) p *(int*)i
$3 = 69
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)