GDB 12.0.90 Bug in VS Code for Ubuntu 及其解决方案

Laffey 2022-07-30 15:43:36 2022-08-12 17:37:33

在 vsc 中使用 gdb 无法调试,大约是 gdb 的 bug。

具体表现为调试突然中断,vsc 调试控制台中出现类似 Debugger exit unexpectedly 字样(我英语不好不要为难我(悲

报错内容如下:

/build/gdb-wIRHdd/gdb-12.0.90/gdb/value.c:1731: internal-error: value_copy: Assertion `arg->contents != nullptr' failed.

根据错误报告,应该修改上面的 value.c 就能修复这个 bug。但是我找不到这个文件,因此暂时没法修。

可以换成 gdb-11。


update on 8.12

value.c 是 gdb 源码中的文件,不过该 bug 在 gdb-12.1 已修复(虽然目前不能用 apt 安装),可以手动去下载源码编译安装,具体流程略有些麻烦(懒得写

并且如果要安装 gdb-11 也要手动下载源码(大约?)所以不如直接安装新版本。

可以自行去网上查询教程,这里贴出我参考的文章和我在安装中遇到的问题供大家参考。

不过这个 bug 大约过段时间(不知多长时间)就可以 apt 更新修复了。因此电脑上是旧版本 gdb 的同学们可以过段时间再更新,防止出现 bug。

文章 & 网站

清华大学开源软件镜像站

注:这是 GNU 相关软件的链接,gdb 和 gmp 在里面找就行了,注意尽量选最新版本。

GDB下载和安装教程

ubuntu18.04 安装 gmp

问题

1. gdb 编译报错?

检查 g++、gcc 是否为最新版本。如果还出现此问题,尝试安装 gmp 库。

2. gmp 编译报错?

大概率是由于没有 m4 库(看报错提示而定),m4 可以用 apt 安装,直接安装后编译就没有问题了。

3. 出现其它错误

尝试用 sudo 运行指令。如果还是不行,就进行 Baidu/Bing First Search 罢(无慈悲

完成后

执行 gdb -v 后,如果版本显示 gdb-12.1 就证明安装成功了。接下来就可以快乐地享受没有 bug 的 gdb 了。

图片.png

图片.png

因为写某 @Star 的题线段树太难调所以花了点时间把这个修了。

共 2 条回复

Star

而且最后放弃了(

Laffey

不过大家好像都是 NOI Linux 用户所以不存在这个问题

那我不相当于白发