web-dev-qa-db-ja.com

Ubuntu 14.04、gcc 4.8.4:Pythonの問題のため、gdbプリティプリントが機能しない

Gdbでプログラムを起動すると、次のエラーが発生します。

Using Host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
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 <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'

Googleはこのバグレポートを作成しました: http://osdir.com/ml/debian-gcc/2014-02/msg00061.html gdbでコマンドpython print sys.pathを使用したこのバグレポートリスト促す。ただし、gdbプロンプトで任意のpythonを使用しようとすると、次のようになります。

(gdb) python print sys.path
File "<string>", line 1
print sys.path
        ^
SyntaxError: invalid syntax
Error while executing Python code.

(gdb) python print "Hello"
File "<string>", line 1
print "HellO"
            ^
SyntaxError: invalid syntax
Error while executing Python code.

Ubuntu 14.04 LTS、関連するバージョン情報を使用しています。

$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
$ gdb --version
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
$ python --version
Python 2.7.6

明らかに、私のセットアップの何かが壊れています。それはpython、gdb、または何か他のものですか?

18
Philipp

他の人が見つけやすいように、これを回答として投稿しています。 MarkPlotnickとwebbertigerからのコメントが実際の答えです。

要約すると、これが私のために働いたものです:

  • 〜/ .gdbinitファイルを作成しました
  • そのファイルにpython sys.path.append("/usr/share/gcc-4.8/python");を追加しました

Eclipse CDTを使用しているので、このファイルがウィンドウ>設定> GDB> GDBコマンドファイルで使用されていることを確認しました。

12
jotadepicas