一、环境:
PC操作系统:Ubuntu 21.04 LTS
GCC 版本:gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1)
要编译的GDB版本:gdb-10.2
GDB源码下载地址:http://ftp.gnu.org/gnu/gdb/
二、配置及编译
1、下载后解压
2、配置configure
为了不搞乱源码,新建一个 build 文件夹用于配置及编译。
这里我配置了编译输出的目录为 build目录下的output,我不打算把系统的gdb替换掉,所以最后make install的时候就安装到这个目录下就好了。
注:如果要替换系统的,则需要 加上 sudo 。
3、编译
执行 make
问题一: makeinfo: not found
安装命令: sudo apt install texinfo
4、安装
安装结果:
三、测试
1、测试代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *str;
str = (char *)malloc(10);
if (NULL != str) {
memset(str, 0, 10);
sprintf(str, "%s", "123456789");
printf("1 - str = %s\n", str);
free(str);
free(str);//double free,此处应段错误
printf("2 - str = %s\n", str);
}
while (1);
return 0;
}