在 Eclipse 中查看变量时 Gdb 停止

Posted

技术标签:

【中文标题】在 Eclipse 中查看变量时 Gdb 停止【英文标题】:Gdb stops when viewing variables in Eclipse 【发布时间】:2022-01-21 23:35:32 【问题描述】:

在调试 c++ 应用程序并遇到断点时,当我单击变量以在“变量”面板中展开其内容时,gdb 会终止调试会话。 显示的消息是:<terminated, exit value: 0>gdb (10.1.90.20210103) 从调试器控制台打印变量可以正常工作。

几周前调试工作正常。最近发生的主要变化是 debian 从 10 升级到 11(bullseye),以及 Eclipse 版本的升级。

在where can I find GDB traces 之后激活 gdb 跟踪,我可以看到发送到 GDB 的命令,但在 GDB 停止之前没有特别错误。

知道什么可能导致这个问题吗?

Eclipse 版本:2021-12 (4.22.0),构建 ID:20211202-1639,在 linux debian Bullseye 上运行。

【问题讨论】:

【参考方案1】:

我回答我自己的问题。

检查相关答案后,我怀疑问题与 Eclipse 中的 stl 漂亮打印有关(之前工作正常)。我尝试了不同版本的 Eclipse 和 gdb,最后设法通过使用以前版本的 gdb(8.3 而不是 10.1)解决了这个问题。

这是我遵循的程序(我不确定所有步骤都是强制性的)。

从头开始重新安装 eclipse 删除 .metadata 目录并重新创建 eclipse 工作区 下载了 8.3 版的 gdb 源代码,并使用 python 支持对其进行了编译('./configure --with-python')。请注意,必须安装 libgmp-dev 和 python2.7-dev debian 软件包。 在 /usr/local/ 下的某处复制了 gdb-8.3 更新了 eclipse 首选项设置:C-C++/Debug/GDB 并将 GDB Debugger 更改为 gdb 8.3 可执行文件位于 /usr/local/ 下的 pach。 在调试器控制台中检查是否显示了正确的 gdb 版本。如果不是这种情况,您可能必须使用 Debug As.../Debug Configurations/Debugger/GDB Debugger 设置 gdb

【讨论】:

以上是关于在 Eclipse 中查看变量时 Gdb 停止的主要内容,如果未能解决你的问题,请参考以下文章

gdb可以跟踪内存分配日志

gdb Debug

在 Eclipse 中导航 Java 调用堆栈

如何在 Eclipse 中启动 gdb 调试之前运行 linux 脚本

eclipse helios 找不到 g++、gdb、$PATH、make

ECS