Ubuntu 14.04 を使用して C++ コードをデバッグしました。コンテナーをコマンドにgdb
渡すと、コンテナーのコンテンツが印刷されていました。しかし、1 週間前に Ubuntu 16.04 LTS にアップグレードしました。今では、これらのきれいなプリンターは動作していません。印刷すると、Python プリンターがインストールされていない場合に得られる生のコンテナー出力が得られます。stl
print
この男同じ問題もあります。
私のシステムにはがあります。自動ロード フォルダーにlibstdcxx/v6/python.py
もあります。 で info pretty-printer を印刷すると、プリンターの一覧が表示されるので、登録されていることがわかります。ただし、私の は変数を印刷しません。 を有効にして、print pretty をオンに設定しました。libstdc++.so.6.0.21-gdb.py
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/')
助けました。