msys2 执行gdb时 出现 ImportError: No module named libstdcxx.v6.printers

zero@zero-PC MSYS ~
$ gdb
GNU gdb (GDB) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-msys".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named libstdcxx.v6.printers
/etc/gdbinit:6: Error in sourced command file:
Error while executing Python code.
(gdb)
 html

======================================python

msys2 出现这个错误redis

网上的解决方案 通常是这个 vim

------------------------------------app

解决方案: 
在本身的用户根目录下面新建.gdbinit文件 
cd ~ 
vim .gdbinit 
而后复制以下代码到.gdbinit文件:code

python
import sys 
sys.path.append("/usr/share/gcc-4.8/python")
end
-------------------------------htm

但实验后 发现没有效果string

搜索 gdbinit 发现 /etc/ 底下有一个 gdbinitit

python
import sys
sys.path.insert(0, sys.path[0] + '/../../gcc-6.3.0/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
endio

发现这里的gcc-6.3.0 和 msys2里带的 gcc的版本不同 把

'/../../gcc-6.3.0/python' 改为  '/../../gcc-7.3.0/python'  就能够了。。。

相关文章
相关标签/搜索