2015-09-04 87 views
10

當我使用gdb調試我的C++程序段錯誤,我在gdb中出現這個錯誤。導入錯誤:沒有模塊名稱libstdcxx

Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux- gnu/libstdc++.so.6.0.19-gdb.py", line 63, in from libstdcxx.v6.printers import register_libstdcxx_printers ImportError: No module named 'libstdcxx'

我正在使用Gdb 7.7.1和g ++版本4.8.4。我搜索了一下,但沒有得到答案。任何人都可以解決我的錯誤嗎?非常感謝你。

+1

首先一派.... [http://askubuntu.com/questions/345873/gdb-crashes-with-importerror-no-module-named-libstdcxx-v6-printers]( http://askubuntu.com/questions/345873/gdb-crashes-with-importerror-no-module-named-libstdcxx-v6-printers) – LPs

+0

非常感謝。 – toantruong

回答

16

這是/usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py中的一個錯誤; 當你啓動gdb,請輸入:

python sys.path.append("/usr/share/gcc-4.8/python");

10

我在Emacs用gdb時遇到這個錯誤。 (在碼頭集裝箱 - Ubuntu的) 我試過它像下面,並運行良好。

(1)開放的libstdC++。so.x.x.x-gdb.py

sh> sudo vi /usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py 

(2)修改該文件(的libstdC++。so.x.x.x-gdb.py )像的下方。

import sys 
import gdb 
import os 
import os.path 

pythondir = '/usr/share/gcc-4.8/python' 
libdir = '/usr/lib/x86_64-linux-gnu' 

sys.path.append(pythondir) <-- add this code 

(3)執行GDB再次

Type "apropos word" to search for commands related to "word"... 
Reading symbols from ./a.out...done. 
(gdb) b main 
Breakpoint 1 at 0x400ae9: file vector7.cpp, line 7. 
(gdb) r 
Starting program: /home/dplee/work/study_room/c++/a.out 

Breakpoint 1, main() at vector7.cpp:7 
7  vector<int> v(10); 
(gdb) list 
2 #include <vector> 
3 using namespace std; 
4 
5 int main() 
6 { 
7  vector<int> v(10); 
8  int num = 0; 
9 
10  for(auto& i : v) 
11  { 
(gdb) 
0

如果使用sudo啓動GDB,請確保您有正確的路徑。

嘗試此sudo PATH=$PATH gdb ...

相關問題