Python — Отладка запущенного приложения

#python #pdb #gedit

#python #pdb #gedit

Вопрос:

Я пытаюсь исправить ошибки в плагинах gedit. Gedit использует C, но некоторые из его плагинов написаны на Python. Мой компьютер старый, и я не могу запустить IDE. Я читал о PDB (отладчике Python), но я не могу вызвать плагин напрямую с помощью PDB. Возможно ли установить точки останова в плагине gedit, запустить gedit, а затем использовать PDB для отладки?

Ответ №1:

Вы могли бы попробовать отредактировать плагины gedit, которые вы хотите отлаживать, и поместить

 import pdb; pdb.set_trace()
  

там и это должно проникнуть в отладчик. Возможно, вам потребуется запустить gedit из командной строки вместо графического интерфейса пользователя, чтобы у него был терминал для запуска pdb.

Комментарии:

1. У меня это работает с одним изменением. Я обнаружил, что иногда мне нужно запускать gedit в автономном режиме gedit -s для запуска pdb.set_trace(). Кроме того, вы можете захотеть удалить байткомпилированный pyc-файл для файла, в котором вы устанавливаете точку останова, чтобы предотвратить кэширование файла без точки останова. Также имейте в виду, что, в зависимости от вашей pdb, плагин может быть еще не загружен и может отображаться как непроверенный в меню Правка-> Настройки-> Плагины. Вы можете ввести continue , чтобы загрузить файл и продолжить работу в обычном режиме (до возможной другой точки останова, которая у вас есть в функции, запускаемой событием).

Ответ №2:

AFAIK на самом деле вы не можете использовать gedit для отладки python, но вы можете попробовать WINPDB http://winpdb.org / который может использоваться параллельно с gEdit

Комментарии:

1. Кому это дало отрицательный ответ на мой ответ, в чем проблема, потрудитесь объяснить?

2. Хотя я не понизил голос, я бы предположил, что это было потому, что OP уже упомянул PDB, предполагая, что он уже знает это много. Он просит инструкцию по использованию PDB внутри gedit