开源安装redis和gdb的问题

张振夯 / 2023-08-30 / 原文

最近想研究一下redis,或者是随便看看吧,谈不上研究。首先看了一下主控server.c文件,后来看setproctiltle.c文件。看不懂文件是干啥用的。就想用gdb跟踪一下,结果发现gdb报错了Dwarf Error:wrong version in complication unit header (is 5,should be 2,3,or 4)。后来发现编译器版本gcc是11和gdb版本7.2不一致。也就是说gcc版本太高了。可以有如下的2个解决方法

(1)在bashrc文件中加入alias gcc='gcc -gdwarf-2 -strict-gdwarf' ,然后重新启动终端;

(2)安装一个新的gdb版本在我的用户目录下。然后加入PATH路径(在前面,便于优先找到)。

我选择了第2种方法,结果编译gdb始终不过,有个portability.c文件始终不过,用的头文件里面的函数原型与操作系统不一致,没办法在生成的Makefile把这个文件去掉了,够粗暴,不过最后编译通过了。