GDB配置

news/2024/9/24 16:26:37
gdb --help	#	可查看配置文件路径

image
全局配置/etc/gdbinit;用户配置文件~/.gdbinit

美观打印STL

当你尝试使用 GDB 的 "print"(打印)命令来显示向量、堆栈或任何其他 GDB 抽象数据结构的内容时,你将得到无用的结果。
GDB7.0之后,将支持用Python编写pretty-printers
这一特性配合libstdc++ svn(git)仓库,就是可视化C++容器的最好方式
配置方法主要分为两步

  1. 从gcc的仓库拉取对应的Python目录
  2. 配置gdbinit文件,使之加载pretty-printers脚本
python
import sys
sys.path.insert(0, '/path/to/gdb_printers/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
info pretty-printers	#	可查看已加载的pretty-printer

参考链接
STLSupport - GDB Wiki(看这个即可)
gcc - git
Writing a Pretty-Printer

可能出现的错误

  1. 路径配置错误,导致导入报错
    路径写到Python即可
    image
    --
    image

  2. 版本错误
    在打印unordered_map时,报错,说是缺少方法或成员
    可能的原因:因为编译新项目,更新了动态库libstdc++.so.6.19->libstdc++.so.6.21
    导致STL代码与gcc提供的printers不匹配
    解决方案:从gcc仓库下载对应版本的printers,在配置文件中加载
    image

  3. pretty-printers重复加载(未解决)
    这个报错是解决第二个问题的副作用,在~/.gdbinit中加载了对应版本的Python脚本之后
    就报了这个错误,但是再次查看unordered_map时,却正确了,于是没管这个报错(虽然报错但能正确工作)
    image

参考链接
gcc与libstdc++版本对应关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/46501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

新闻管理与推荐系统Python+Django+协同过滤推荐算法+管理系统

一、介绍 新闻管理与推荐系统。本系统使用Python作为主要开发语言开发的一个新闻管理与推荐的网站平台。 网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的数据通…

SpringBoot 3.x 结合 Swagger3 (Knife4j )踩坑实录

SpringBoot 3.x + Swagger3 踩坑实录 我的是springboot 版本是:3.2.2 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.2</version><relativePath/> …

查询windows内存卡槽及卡槽支持的最大内存

以管理员运行cmd,输入命令 wmic Memphysical get MaxCapacity, MemoryDevices如图,我本机的卡槽数量有4个,每个卡槽最大支持128G惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。 一代天骄,成吉思汗,只识弯弓射大雕。 俱往矣,数风流人物,还看今朝

在线方式部署k8s+prometheus集群(kubesphere环境)

前言:半月前在公司生产环境上离线部署了k8s集群 和 Prometheus+Grafana监控平台的搭建,下面我租用3台华为云服务器演示在线方式部署k8s(单master节点)+prometheus集群。下期再出一版离线方式部署k8s(双master节点)集群。 安装步骤: 安装Docker 安装Kubernetes 安装KubeSp…

MURF3040CT-ASEMI无人机专用MURF3040CT

MURF3040CT-ASEMI无人机专用MURF3040CT编辑:ll MURF3040CT-ASEMI无人机专用MURF3040CT 型号:MURF3040CT 品牌:ASEMI 封装:TO-220F 最大平均正向电流(IF):30A 最大循环峰值反向电压(VRRM):400V 最大正向电压(VF):0.95V~1.90V 工作温度:-50C~150C 反向恢复时间:35…

Debian12 安装kubernetes

PrerequisitesMinimal Installed Debian 12 /11 2 CPU / vCPU 2 GB RAM 20 GB free disk space Sudo User with Admin rights Stable Internet Connectivity Ensure that each node can communicate with the others via a reliable network connection.1. 设置hostname和hosts…

ConcurrentHashMap(并发工具类)

并发工具类 在JDK的并发包里提供了几个非常有用的并发容器和并发工具类。供我们在多线程开发中进行使用。 5.1 ConcurrentHashMap 5.1.1 概述以及基本使用 在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全…

GPIO的工作模式

输入模式: 输入浮空、输入上拉、输入下拉、模拟输入 输出模式: 开漏输出、开漏复用功能、推挽式输出、推挽式输出复用功能 输入浮空:输入上拉:输入下拉:开漏输出:开漏复用功能:推挽式输出:推挽式输出复用功能: