使用gdb调试std容器不起作用

时间:2019-02-07 12:51:52

标签: c++ eclipse debugging gdb

我正在尝试调试c ++代码,尤其是我想检查我实现的对象的状态,该对象由一个泛型类的向量组成,每个类均包含一个泛型结构的列表。

我使用的是Eclipse,当我尝试调试并访问其中大多数列表时,大多数时候它告诉我:

  

无法执行MI命令:   -data-evaluate-expression((store).sectors)   来自调试器后端的错误消息:   无法访问地址0x1处的内存

尴尬的是,有时我能够访问并查看这些对象的内容。

我正在使用的编译器的g ++版本是7.3.0,而gdb的版本是“ GNU gdb(Ubuntu 8.1-0ubuntu3)8.1.0.20180409-git”。 应用程序目标为x86_64,而gdb被配置为x86_64。 我尝试按照以下步骤进行STL支持打印:https://sourceware.org/gdb/wiki/STLSupport 我还将调试配置初始化路径文件设置为〜/ .gdbinit。

如果我尝试从终端使用gdb访问这些对象之一,则会收到此错误:

  

$ 1 = std :: __ cxx11 :: listPython异常无法>找到类型std :: __ cxx11 :: list,> std :: allocator>> :: _ Node:

谢谢您的建议。

0 个答案:

没有答案