首页 > 解决方案 > 如何确定 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 脚本。

标签: gdbpretty-print

解决方案


我能够通过更改.gdbinit脚本中的默认 Python 编码来解决这个问题,如下所示:

python
import sys
reload(sys)
sys.setdefaultencoding('utf8')
end

推荐阅读