如何确定 GDB 漂亮打印问题的原因?

How to determine the cause of GDB pretty printing issues?

我正在尝试确定为什么我系统上的 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