GDB 충돌 : ImportError : 이름이 libstdcxx.v6.printers 인 모듈 없음 last): File “/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py”, line 59,

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가 활성화되었습니다.



답변

이것은 버그입니다 /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.

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