GDB 충돌 : ImportError : 이름이 libstdcxx.v6.printers 인 모듈 없음


14

GDB에 문제가 있습니다. C ++ 프로그램을 디버깅하려고 할 때마다 GDB는이 오류를 발생시킵니다.

(gdb) run
Starting program: /home/errikos/Workspaces/tests/a.out 
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers

그 후에 GDB는 계속 실행됩니다 (즉, 완전히 충돌하지 않습니다).

이것 ( 여기 , 여기여기 )에 대한 몇 가지 버그 보고서가 있음을 알고 있습니다 . 두 번째 보고서에는 수정 사항이 발표되었다는 주장도 있습니다. 세 번째 방법에는 symlink 해결 방법이 있습니다.

누구든지 이것에 대한 해결 방법을 찾았습니까? 누락 된 패키지가 있습니까?

참고 : 우분투 툴체인 테스트 빌드 (ppa : ubuntu-toolchain-r / test) PPA가 활성화되었습니다.

답변:


7

이것은 버그입니다 /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; 제대로 작동하면 ImportError한 번만 볼 수 있고 예쁜 프린터가 작동합니다.

여기서 무엇이 잘못되었는지에 대한 정보는 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18 을 참조 하십시오. 데비안 gcc-4.7에서는 제대로 작동했지만 최근까지는 gcc-4.8데비안 에서는 작동하지 않았습니다 . 난 경우에도 확실하지 않다 시도 로 이것을 gcc-4.6.

어쨌든 해당 파일을 패치하여 올바른 위치를 찾을 수 있습니다 .


2
샘플 패치를 제공 할 수 있습니까?
fouric

This has been probably fixed by the latest packages in ppa:ubuntu-toolchain-r/test, as I do not get this error anymore. I had lost interest in this as I have not been doing much C/C++ development lately. Thanks for your answer though!
errikos

Note: Matthias Klose has since moved the relevant file to a place where it doesn't trigger the spurious ImportError anymore in Debian unstable.
SamB

How can I patch this?
becko

@ Becko : libstdc ++ 6의 정확한 설치 버전은 무엇입니까?
SamB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.