Ubuntu 13.10でGDBプリティプリンティングを設定する


8

この回答に基づいて GDBのプリティプリントを設定しようとしました(標準コンテナでの作業を簡単にするため)。svnのpython pretty printersコードを使用する代わりに、ubuntuに同梱されているものを使用しました。残りのプロセスを実行した後、gdbを起動すると次のエラーメッセージが表示されました。

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.

問題をもう少し詳しく調べたところ、根本的な原因がさらに深いことがわかりました。gdbで使用されているPython 3は、libstdc ++のプリティプリンターと互換性がありません

誰かがそのための機能的な回避策を持っていますか?今のところ、Dan Marinescuのヘルパー(便利ですが、機能的ではありません)に悩まされています。http//www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF


2つの質問があります。1つ目は、Ask Ubuntuが適切な場所であり、その理由は何ですか。次に、これはアプリケーションのバグではありませんか?どちらの場合も、トピックから外れています。
Lucio

これはトピック外ですか?私は問題を引き起こすUbuntuランチパッドからの確認済みの重要度の高いバグをリンクし、回避策を求めました。13.10を使用している人がこれを機能させることができれば、私は確かにそのソリューションを使用できます。Gentooを利用している友人に確認しましたが、この問題は彼らには影響しません。
nietaki 2014年

回答:


8

最も簡単な修正は、きれいなプリンターを通常どおりprinters.pyにセットアップすることですが、2to3を使用してpython3に変換します。

2to3 printers.py -w

簡単にテストしただけですが、問題なく動作するようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.