當(dāng)我使用gdb調(diào)試具有分段錯(cuò)誤的C ++程序時(shí),,gdb中出現(xiàn)此錯(cuò)誤。
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版本,。 我在Google周?chē)阉?,但沒(méi)有得到答案。 誰(shuí)能解決我的錯(cuò)誤,? 非常感謝你,。
-
首先用谷歌搜索。...http:///questions/345873/gdb-crashes-with-impor terror-no-module-nam ed-libstdcxx-v6-prin ters
-
非常感謝你,。
這是/usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py中的錯(cuò)誤,;
啟動(dòng)gdb時(shí),請(qǐng)輸入:
python sys.path.append("/usr/share/gcc-4.8/python");
我在emacs中使用gdb時(shí)遇到此錯(cuò)誤,。 (在Docker容器中-Ubuntu)
我嘗試如下,,并運(yùn)作良好。
(1)打開(kāi)libstdc ++,。so.x.x.x-gdb.py
1
| 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
),如下所示,。
1 2 3 4 5 6 7 8 9
| 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)再次執(zhí)行g(shù)db
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 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) |
我從gcc安裝路徑中選擇了libstdcxx,,這個(gè)錯(cuò)誤對(duì)我來(lái)說(shuō)消失了。
1
| sys.path.insert(0, '/global/freeware/Linux/RHEL6/gcc-6.2.0/share/gcc-6.2.0/python') |
-
在我的環(huán)境中本地安裝的gcc路徑也為我工作,!
如果使用sudo啟動(dòng)gdb,,請(qǐng)確保您具有正確的PATH。
試試這個(gè)sudo PATH=$PATH gdb ...
|