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