Code::Blocks开启pretty_printer(整齐打印)优化调试数据显示

这不打天梯赛么,被迫用这原始玩意==

网上唯一的中文讲解引用的 oschina 上的文章,结果原文被删了,寄了,好在 Code:: Blocks 的 wiki 上写了

Wiki_Pretty_Printers

这里详细说明一下。


MinGW 配置

高版本的 gdb 理论上支持 pretty_printer 更好一些,GCC 13 Release Series - GNU Project 下载一个跟着其他教程配下环境变量就行。
如果用的自带MinGW的那个Codeblocks编译器不一定支持Python,最好去自己下载个支持Python的GCC。

什么是 pretty_printer

这是 GDB 中一个用 python API 实现的更加清晰的显示数据结构的一个扩展,如果不启用的话,调试器里的东西可能长这样
C0PK9(DC1~6.png
启用后,它长这样

Code::Blocks 配置

  1. 首先在 mingw 的安装目录下找到 .\mingw64\bin 新建一个 gdb 扩展脚本文件 pp.gdb,内容如下:
python
import sys
sys.path.insert(0, 'D:/Code/mingw64/share/gcc-13.1.0/python/libstdcxx/v6') #替换成你的路径
from printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
  1. 在 code:: blocks 的命令行环境中输入 source c:\MinGW\bin\pp.gdb (替换成你的路径),这里有可能会报 RuntimeError: pretty-printer already registered: libstdc+±v6,可能是 VSCode 或者其他什么已经注册过 GDB 的 pretty_printer 了,也算成功,
  2. 在 Code:: Blocks 的调试器设置里把上一行命令输上去,配置成功。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyt363045841

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值