gdb
Ubuntu 14.04에서 디버깅 C++ 코드를 사용했습니다. stl
컨테이너를 명령에 전달 하면 print
컨테이너의 내용을 인쇄하는 데 사용됩니다. 하지만 일주일 전에 Ubuntu 16.04 LTS로 업그레이드했습니다. 이제 그 아름다운 프린터는 더 이상 작동하지 않습니다. 인쇄할 때 Python 프린터가 설치되지 않았을 때 얻는 원시 컨테이너 출력을 얻습니다.
이 남자같은 문제가 있습니다.
나는 그것을 내 시스템에 가지고 있습니다 libstdcxx/v6/python.py
. 내 libstdc++.so.6.0.21-gdb.py
자동로드 폴더에도 있습니다. Pretty-printer에서 정보를 인쇄하면 gdb
프린터 목록이 표시되어 해당 프린터 stl
가 등록되어 있는지 알 수 있습니다. 그러나 광산은 변수를 gdb
인쇄하지 않습니다 . stl::list
활성화 pretty-printer
하고 인쇄를 예쁘게 설정했습니다.
내 gcc 버전은 5.4이고 gdb 버전은 7.11.1입니다. 둘 다 Ubuntu 16.04와 함께 설치됩니다. 나는 그것들을 수동으로 만들지 않았습니다. 그렇다면 제가 뭔가 분명한 것을 놓치고 있는 걸까요?
답변1
제 경우에는 ~/.gdbinit
파일에 다음 줄이 있었습니다.
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
결과는 다음과 같이 변경됩니다: (4.8->5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
도움이되었습니다.