Я играл с virtualenv и gdb для отладки приложений Python (которые обращаются к некоторым библиотекам C, которые я хотел проверить).
Система:
$ 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.
Я не уверен, следует ли это реализовывать в самом virtualenv, если он обнаруживает, что используется исполняемый файл отладки Python, но это немного раздражало / сбивало с толку, и хотелось, чтобы команда virtualenv знала.
Сладкий, я столкнулся с той же проблемой, пока что спасибо. Если не повредит, его нужно добавить.
Я сталкиваюсь с этой ошибкой при импорте libpython и использовании py-bt: «Ошибка в команде Python: __init __ () принимает ровно 3 аргумента (2 задано)»
Это все еще проблема?
У меня та же проблема:
(gdb) py-list
Undefined command: "py-list"
Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время не было активности. Он будет закрыт, если больше не будет активности. Просто добавьте комментарий, если хотите, чтобы он оставался открытым. Спасибо за ваш вклад.
По-прежнему проблема с python3.6-dbg на ubuntu 18.10
Самый полезный комментарий
По-прежнему проблема с python3.6-dbg на ubuntu 18.10