私はPythonアプリ(検査したいいくつかのCライブラリを呼び出す)をデバッグするためにvirtualenvとgdbで遊んでいました。
システム:
$ virtualenv --version
1.11.4
$ uname -a
Linux virtual-machine 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ /usr/bin/python2.7-dbg --version
Python 2.7.6
$ gdb --version
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
仮想環境のセットアップ:
$ virtualenv -p /usr/bin/python2.7-dbg debugenv
$ source debugenv/bin/activate
gdb Python拡張コマンドのテスト(失敗):
(debugenv)$ gdb --args python
(gdb) py-bt
Undefined command: "py-bt". Try "help".
StackOverflowのこの人は、解決策を投稿しました:
http://stackoverflow.com/questions/22931774/how-to-use-gdb-python-debugging-extension-inside-virtualenv
(debugenv)$ ln -s /usr/lib/debug/usr/bin/python2.7-gdb.py /path/to/debugenv/bin/python2.7-dbg-gdb.py
(debugenv)$ gdb --args python
(gdb) py-bt
Python Exception <class 'gdb.error'> No frame is currently selected.:
Error occurred in Python command: No frame is currently selected.
Pythonデバッグ実行可能ファイルが使用されていることを検出した場合、これをvirtualenv自体に実装する必要があるかどうかはわかりませんが、これは少し面倒で混乱を招き、virtualenvチームに認識させたいと考えていました。
甘い私はこれまでのところありがとう、同じ問題に遭遇します。 痛くない場合は追加する必要があります。
libpythonをインポートしてpy-btを使用すると、このエラーが発生します:「Pythonコマンドでエラーが発生しました:__ init __()は正確に3つの引数(2つ指定)を取ります」
これはまだ問題ですか?
私は同じ問題を抱えています:
(gdb) py-list
Undefined command: "py-list"
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 開いたままにしておきたい場合は、コメントを追加してください。 貢献していただきありがとうございます。
Ubuntu18.10のpython3.6-dbgにはまだ問題があります
最も参考になるコメント
Ubuntu18.10のpython3.6-dbgにはまだ問題があります