14

我正在寻找完美的 Linux C++ 调试器。我不期望成功,但搜索应该是信息丰富的。

我是一个非常有能力的 gdb 用户,但 STL 和 Boost 很容易粉碎我的调试技能。并不是我无法深入了解数据结构的内部结构,而是我通常会花费很长时间才能找到另一种方法(“如有疑问,请打印出来”)。

gdb 的宏语言很奇怪,适应性也不是很好。只需查看 stanford gdb utils 打印出 stl 结构的代码即可。

简而言之,我对自己所拥有的不满意。

我最近偶然发现了零错误。它看起来像一颗银弹。现在的零漏洞用户怎么看?

有没有人找到其他解决 Linux C++ 调试器问题的好方法?

4

10 回答 10

11

gdb 的一个开发分支(gdb 的Project Archer的一部分)为 gdb 添加了 Python 支持(以替换 gdb 的宏)。从这里开始有一系列博客文章,其中广泛涵盖了启用 Python 的 gdb 入门,并提供了一些关于使用 Python 定义新 gdb 命令和漂亮打印 C++ 数据结构的教程。

于 2009-01-12T18:51:43.407 回答
4

如果您不介意为此付费,UndoDB 就很棒。可逆能力比 GDB 快得多。 http://www.undo-software.com/

于 2012-11-22T12:17:39.730 回答
2

有一些简单的脚本可以让您从 GDB 中转储 STL 结构。

看看这里

于 2009-12-24T22:51:54.843 回答
1

您可以试试 NetBeans IDE 6.5 和 gdb 6.8,它非常强大! http://www.netbeans.org/downloads/index.html

于 2009-01-13T12:46:01.210 回答
1

ddd(数据显示调试器)相当不错.....它基本上是一个可视化的gdb....

于 2009-01-19T16:06:32.867 回答
1

我使用以下环境:

http://ec-lang.org/

它是一个完整的eC语言开发环境。

但是,您可以拥有一个仅包含 c 或 c++ 文件而没有任何 eC 特定文件的项目,并使用 IDE 构建和调试它们。

这是您在 linux 下最接近类似“Borland C”的体验。

它可以使用以下命令安装在 Ubuntu/Debian 上:

sudo apt-get install ecere-sdk

于 2018-02-10T21:38:26.573 回答
1

最近的gdb (例如 8.1 版)和g++(例如 2018 年 2 月的 GCC 7)能够通过 Python 脚本调试标准 C++ 容器。

于 2018-02-10T21:48:03.570 回答
0

我已经有一段时间没有在 Linux 中进行 C++ 开发了,但是当我使用KDevelop的调试器时,我很幸运。没有什么革命性的东西,但它可以让您快速探索您正在寻找的对象属性。

于 2009-01-12T18:18:22.177 回答
0

尝试ddd

于 2009-01-12T18:39:39.857 回答
0

如果您正在寻找 IDE 类型的调试器而不是命令行调试器,则可以使用Eclipse逐步执行 C 和 C++ 代码。它并不完美,但我发现它适用于已经熟悉 IDE 调试工具的人。

我也偏爱Valgrind检测内存错误。

于 2009-01-12T19:23:42.233 回答