我在我的 Mac 上使用支持 c++ 11 功能的 g++ 4.8。
/opt/local/bin/g++-mp-4.8
我也使用 gdb 6.3.50。
GNU gdb 6.3.50-20050815 (Apple version gdb-1822) (Sun Aug 5 03:00:42 UTC 2012)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".
我的代码有很多具有 unique_ptr 的地图或矢量,调试它们真的很痛苦,因为我看不到有关地图或矢量中元素的信息。
我试图制作一个实用方法并在 gdb 中调用它们,但它似乎不起作用。它不会引发错误消息,但也不会显示任何内容。
void testPrint( map<int, unique_ptr<GroupContextSummary>> & m, int i )
{
cout << m[i].get()->to_string() << endl;
}
有什么方法可以查看地图/矢量中的元素?