C++11 调试C++;11个带有gdb的右值引用

C++11 调试C++;11个带有gdb的右值引用,c++11,gdb,rvalue-reference,C++11,Gdb,Rvalue Reference,我只是注意到我不能正确地调试rvalue引用gdb-7.7.1 void simple(int &&i) {} 当我进入这个最低限度的函数时,我无法获得关于I的任何有意义的信息。它的类型和值对于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/t

我只是注意到我不能正确地调试rvalue引用
gdb-7.7.1

void simple(int &&i) {}
当我进入这个最低限度的函数时,我无法获得关于
I
的任何有意义的信息。它的类型对于
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>
测试时的
simple(int&&)(i=)cpp:10
(gdb)p i
$2 = 

我做错什么了吗?有什么合理的解决办法吗?升级到
gdb-7.10
会解决此问题吗?

不幸的是,这是由gdb错误造成的:14441-需要支持DW\u标记\u右值\u引用\u类型

这在GDB8.0中得到了修复

参考:

解决方法

在固定之前,上例中的
i
值可以通过如下显式转换获得:

(gdb) p *(int*)i 
$3 = 69

相关:@MarkPlotnick这解释了很多,谢谢一个3岁以上的小虫子。哇,在GDB8.0中,这个问题已经解决了。