在 gdb 中显示解引用的 STL 迭代器

2023-12-29

我有一个映射元素的迭代器,我希望 gdb 显示该迭代器的“第一个”和“第二个”元素的值。 例如:

std::map<int,double> aMap;
...fill map...
std::map<int,double>::const_iterator p = aMap.begin();

我可以在代码中使用 p.first 和 p.second,但在 gdb 中看不到它们。就其价值而言,在 dbx 中可以执行类似“print p.node.second_”的操作,但我可以在 gbd 中找到类似的操作。

我完全愿意有一个函数来传递对象类型,但我也无法让它工作。

有任何想法吗? 谢谢!


我是这样做的:

This GDB was configured as "i686-pc-linux-gnu"...
(gdb) list
1       #include <iostream>
2       #include <map>
3
4       int main()
5       {
6           std::map<int, int> a;
7           a[10] = 9;
8           std::map<int, int>::iterator it = a.begin();
9           ++it;
10      }
(gdb) b test.cpp:9
Breakpoint 1 at 0x8048942: file test.cpp, line 9.
(gdb) r
Starting program: /home/js/cpp/a.out

Breakpoint 1, main () at test.cpp:9
9           ++it;
(gdb) set print pretty on
(gdb) p it
$1 = {
  _M_node = 0x94fa008
}
(gdb) p *it
$2 = (class std::pair<const int, int> &) @0x94fa018: {
  first = 10,
  second = 9
}
(gdb)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 gdb 中显示解引用的 STL 迭代器 的相关文章

随机推荐

  • 如何制作倒置的边框半径(反应本机)?

    我怎样才能在react native中做出这样的形状 在CSS中 解决方案之一是使用 webkit mask image 但我不知道如何在react native中做到这一点 倒边界半径 https i stack imgur com Yj
  • Realm Cocoa:通过 PK 查找多个对象

    潜伏已久 第一次提问 我在一个项目中使用 Realm Cocoa 来自 Realm io 并且正在努力通过 PK 执行搜索 假设我有一个名为RLMFoo它有一个主键称为bar 我还有一个 PK 列表 假设存储在一个数组中 NSArray p
  • 面试题:在php中,是123==0123吗?

    我已经回答了 这是假的 然后他问为什么 我无法回答 有人能回答吗 我很有兴趣学习它 这段代码 var dump 123 var dump 0123 会给你 int 123 int 83 这是因为0123是八进制表示法 因为0在开始时 whi
  • Erlang 和 JavaScript MD5 摘要匹配

    在这里测试 MD5 的 Javascript 实现 http www webtoolkit info javascript md5 htmlhttp www webtoolkit info javascript md5 html http
  • 分布式深度优先搜索

    我尝试在 C 中实现深度优先搜索 但我不太确定如何以分布式计算方式执行此操作 如果你们能帮我解决这个问题 我将非常感激 你可以在下面找到我的 DFS 代码 public class DFS static List
  • 在react-router :id中使用百分号(%)

    我正在尝试在react router id 中使用百分号 当使用 在 URI 中被禁止 我必须手动编码我的 URI 才能使用这个百分号 因此 使用 Link 时 我使用encodeURI 函数对 URI 进行编码 在我的页面的源代码中 我可
  • onLongPress 未按预期工作

    我有一个表面视图 使用以下代码在其上实现手势检测 surfaceview setOnTouchListener new OnSwipeTouchListener this public class OnSwipeTouchListener
  • 如果 div 为空,则忽略边距

    我有 2 个 DIV 彼此相邻水平对齐 并使用包装器居中 我使用 margin right 将 DIV2 与 DIV1 分开 DIV2 可能没有内容 如果 DIV2 没有内容 我希望忽略边距 而 DIV1 单独居中 这是我的CSS div1
  • 无法找到“org.springframework.mail.javamail.JavaMailSender”类型的 bean

    我在用spring boot 2 0 7 Release and spring boot starter mail 2 0 7 Release 我正在自动装配javaMailsender在尝试部署时 在 Windows 上工作正常的类内部U
  • 如何在 C#.NET 4.0 中编写 WMI 提供程序?

    任何人都可以帮助我使用 C net 4 0 编写电池的 WMI 提供程序吗 有一个旧的 C 示例here http www c sharpcorner com uploadfile falkor wmiproviderguide112620
  • Python 用户定义的数据类型

    我正在用 Python 编写一个 Rogue like 游戏 并定义我的Tile班级 瓷砖可以是块状的 墙壁的或地板的 我希望能够写一些类似的东西 self state Blocked 类似于如何使用布尔值 但具有三个值 有没有一种好方法可
  • 更改 Android 录音默认输入源

    我目前正在编写一个需要录制和实时处理音频数据的应用程序 为此 我使用 AudioRecord 类 这一切都很好 除了我的主要测试设备 Galaxy Nexus 上录制音频的默认设置是从后置扬声器录制 我假设大多数手机的默认录音源是背面或底部
  • GHC 中自动专业化的传递性

    From the docs http www haskell org ghc docs 7 6 3 html users guide pragmas html idp49866112对于 GHC 7 6 你 通常甚至一开始就不需要 SPEC
  • JQuery IE 生涩幻灯片动画

    我有以下代码来动画显示 隐藏 div headerClosed headerOpen live click function this next slideToggle slow 这将显示并隐藏具有以下标记的 div div class d
  • 登录失败。请检查您的网络连接并重试

    我正在尝试使用 Google Play 游戏服务制作简单的游戏 但无法登录 Google Play 游戏 我明白了error 登录失败 请检查您的网络连接 然后重试 我有 MainActivity 和三个片段 MainFragment Ga
  • 使用 5 个表生成查询

    我已经创建了我的表 我正在尝试创建一个查询 将已售表中的 sell quantity 和 on sale 表中的 sale price 相乘并相加 暂时将其称为 R1 将产品表中的 Retail price 和已售表中的 sell quan
  • 获取 Promise.race 中完成的 Promise

    上下文 我需要进行大量可并行的异步调用 想想大约 300 到 3000 个 ajax 调用 但是 我不想同时调用所有浏览器或服务器 从而给浏览器或服务器带来压力 我也不想按顺序运行它们 因为完成需要很长时间 我决定一次运行五个左右 并派生了
  • Windows Azure 服务总线队列重复检测如何工作?

    我知道您可以设置重复检测以在一段时间内使用天蓝色服务总线队列进行工作 但是 有谁知道这是否基于队列中的对象起作用 因此 如果我有一个 id 为 SO 1 的对象 该对象被放入队列并随后被消耗 重复检测是否仍然有效 我想我要问的是 是时间范围
  • “yield”在这个排列生成器中如何工作?

    def perm generator lst if len lst 1 yield lst else for i in range len lst for perm in perm generator lst i lst i 1 yield
  • 在 gdb 中显示解引用的 STL 迭代器

    我有一个映射元素的迭代器 我希望 gdb 显示该迭代器的 第一个 和 第二个 元素的值 例如 std map