gdb - 如何确定 GDB 漂亮打印问题的原因?
问题描述
我试图确定为什么我的系统上的 GDB 没有为 C++ 标准库类型提供任何漂亮的打印。
命令info pretty-printer
产生一些虚假的输出:
global pretty-printers:
builtin
mpx_bound128
Python Exception <type 'exceptions.UnicodeEncodeError'> 'ascii' codec can't encode characters in position 48-53: ordinal not in range(128):
Error occurred in Python: 'ascii' codec can't encode characters in position 48-53: ordinal not in range(128)
而且我似乎找不到有问题的 gdbinit 脚本。
解决方案
我能够通过更改.gdbinit
脚本中的默认 Python 编码来解决这个问题,如下所示:
python
import sys
reload(sys)
sys.setdefaultencoding('utf8')
end
推荐阅读
- php - 检查电子邮件是否存在于数据库中
- postgresql - 未找到 psql:通过 wsl 的 Windows 端 postgres 服务器
- java - 我们有类似空手道的@AfterScenario 的东西吗?
- docker - 来自我当前操作系统配置的 Docker 基础映像
- android - 这里不支持空指针
- swift - ARKIT - 如何将相对于真实世界原点的位置(GPS 坐标)转换为相对于 scenekit 根节点
- unreal-engine4 - 有没有办法在不进入 Unreal 中的 C++ 的情况下自定义蓝图的详细信息面板?
- javascript - Vanilla JS/HTML:将 html 对象连接到内部数据模型/数组的最佳实践
- shell - 使用 Unix 命令的结果作为整数?
- r - 使用 fortify () 或 broom::tidy() 在 ggmap 上绘制线条 shapefile,产生类似多边形的输出