问题及思路
本人用的 ubuntu 18.04版本,默认安装的 gdb 是 8.1.1版本的,在多进程调试是会报错 。
lsb_release -a
查看 系统版本
gdb -v
查看 gdb 版本
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x794
Cannot insert breakpoint 2.
Cannot access memory at address 0x7f3
查资料说 gdb 8.x的版本 多线程调试有问题。
尝试去 在当前系统环境下 降低gdb 版本,百度找不到办法,因为指定安装版本会报 “找不到指不定版本的问题”。
所以尝试安装新的 Ubuntu系统,从而安装不同的 gdb版本,因为默认安装版本不同。
下边是 Ubuntu各个版本的下载源:
下载 Ubuntu 16.4版本的镜像文件 或者各个版本的镜像文件地址
中国科学技术大学
http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/
阿里云
http://mirrors.aliyun.com/ubuntu-releases/16.04/
兰州大学
http://mirror.lzu.edu.cn/ubuntu-releases/16.04/
北理工
http://mirror.bit.edu.cn/ubuntu-releases/16.04/
浙大
http://mirrors.zju.edu.cn/ubuntu-releases/16.04/
下面链接为Ubuntu各个版本服务器,可自行下载
http://mirrors.melbourne.co.uk/ubuntu-releases/
参考自:下载 Ubuntu 16.4版本的镜像文件 或者各个版本的镜像文件地址
安装新的系统版本,安装新的 gdb版本,判断是否可以解决问题
确实可以解决多进程调试的问题,不会出现如下问题
没图,不过确实可以。
后话:不过同一个虚拟机下安装了两个 Ubuntu系统,同时启动,想要 通过Windows连接,还是出现了问题,包括通过 VS code同时连接。但是多进程的调试可以。