2016-08-22 4 views
0

Чтобы получить стек из программы python, я пытаюсь следовать this example. В статье автор ссылается на gdb следующим образом. Однако версия python моей среды: python 3.4.4. Когда я печатаюget stacktrace программы python для отладки

python3.4-dbg testmyplotlib2.py & 

Сообщение об ошибке - python3.4-dbg: команда не найдена. Каков правильный способ получить stacktrace с помощью gdb.

enter image description here

+0

Не пытайтесь указать здесь очевидное, но я думаю, что у вас может не быть встроенной отладки. (Команда не найдена, это предупреждение оболочки, что что-то с этим именем не существует). Вот статья об установке на Ubuntu https://wiki.ubuntu.com/PyDbgBuilds –

ответ

1

Что OS вы? Похоже, вам нужно установить python3.4-dbg. Если вы находитесь на Linux, вам нужно будет ввести:

Sudo APT-получить установку python3.4-DBG

0

GDB является отличной программой для отладки, но если печать отслеживающего это единственная причина, вы устанавливаете GDB, не делайте этого, то есть waay overkill. Вы можете просто import traceback и

  1. использование traceback.format_stack(), чтобы получить массив вызовов, которые ведут к месту назначения в программе
  2. использование traceback.print_stack() напечатать его в командной строке
  3. использовать print traceback.format_exc() для печати, что приведет к текущим исключению (работает в except clasuse)
Смежные вопросы