在Eclipse中合理调试STL容器

Sensible debugging in Eclipse of STL containers

本文关键字:调试 STL 容器 Eclipse      更新时间:2023-10-16

我对如何在eclipse中调试STL容器感到困惑。Variables窗口只显示容器内部变量,而不是我存储在其中的对象集合。从那里,我只能展开m_start指针来查看第一个元素。就这样。

目前,我通过直接从控制台访问gdb来解决这个问题:p myvect[0]@10将打印向量的前10个元素。

有一篇文章,敦促一些大学的学生下载一些python脚本。我对这篇文章的问题是:1)我的Eclipse Luna缺少他们解释的确切菜单2)这句话:"根据其官方文档,存在一个未解决的错误,您应该在源文件中自己修改它。"

我听说visual Studio提供了一个叫做"Raw view"的东西。

对我来说,为Eclipse CDT提供内置的STL容器调试功能听起来非常简单和重要。它们存在吗?如果没有,为什么没有实施?

你没有提到你的平台。

在"最近"(至少最近几年,可能更长)的Linux发行版上,一切都设置为"刚刚工作"。当然,这背后有很多机器支持,所有的位都必须到位:

  • 您的gdb必须启用python
  • libstdc++的漂亮打印机必须以一种方式安装,使它们在调试
  • 时自动激活
  • 你的Eclipse必须告诉gdb它理解漂亮的打印

正如我所说,在最近的环境中,所有这些都可以工作。你可以在终端中使用gdb手工测试,打印一些STL数据结构;即使只是一个字符串也可以。如果你得到不可理解的好,那么有些东西没有正确设置。

如果你不是在Linux发行版上,你可以尝试手动设置这些东西。这样做有点复杂,但是在gdb wiki上有一些说明是足够合理的。