gpt4 book ai didi

linux - 安装较旧的 gdb 版本

转载 作者:IT王子 更新时间:2023-10-29 01:07:38 34 4
gpt4 key购买 nike

我在使用最新的 gdb 时遇到问题,所以我想使用旧版本。我找到了 gdb 存档 here,但我该如何编译/安装其中之一以便可以使用它?

根据manual,首先配置:

$ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
[...]
configure: creating ./config.status
config.status: creating Makefile

然后制作:

$ make
make[1]: Entering directory '/root/Desktop/gdb-7.7'
Configuring in ./libiberty
configure: creating cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for makeinfo... /root/Desktop/gdb-7.7/missing makeinfo --split-size=5000000
[...]

但它会导致错误:

remote-utils.c:436:19: error: ‘hexchars’ defined but not used [-Werror=unused-const-variable=]
static const char hexchars[] = "0123456789abcdef";
^~~~~~~~
cc1: all warnings being treated as errors
Makefile:238: recipe for target 'remote-utils.o' failed
make[4]: *** [remote-utils.o] Error 1
make[4]: Leaving directory '/root/Desktop/gdb-7.7/gdb/gdbserver'
Makefile:1345: recipe for target 'subdir_do' failed
make[3]: *** [subdir_do] Error 1
make[3]: Leaving directory '/root/Desktop/gdb-7.7/gdb'
Makefile:1018: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/root/Desktop/gdb-7.7/gdb'
Makefile:8611: recipe for target 'all-gdb' failed
make[1]: *** [all-gdb] Error 2
make[1]: Leaving directory '/root/Desktop/gdb-7.7'
Makefile:832: recipe for target 'all' failed
make: *** [all] Error 2

关于降级程序的指南发现 here 也没有帮助,因为我总是遇到“找不到版本”错误:

$ sudo apt-get install gdb="7.8.1"
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '7.8.1' for 'gdb' was not found

最佳答案

您正在尝试使用较新的 GCC 编译较旧的 GDB。

这通常不起作用:较新的 GCC 会启用新的警告,而 GDB 开发人员会修复这些警告(通常在新的 GCC 版本实际发布之前)。

您应该能够通过以下方式禁用这些警告:

 ./configure 'CFLAGS=-w'

或者通过编辑生成的 Makefile 并修改那里的 CFLAGS

其他选择:

  • 您实际上可以修复代码使其不产生警告(删除 remote-utils.c 的第 436 行应该可以做到),或者
  • 您可以安装相同“年份”的旧版 GCC,并使用它构建 GDB(可能在虚拟机中)。

关于linux - 安装较旧的 gdb 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556448/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com