отладка с трассировкой питона - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть приложение Python 2.7, которое использует несколько потоков.В настоящее время я сталкиваюсь с ошибкой, что где-то в одном из потоков есть какой-то бесконечный цикл.Читая об этом, я попытался запустить python с -m trace, чтобы отследить, откуда исходит цикл ( сравнить пост ).

Когда я запускаю приложение с -m trace, появляется ошибка импорта.Если я запускаю его без -m trace, я не получаю ошибку импорта.Любая идея, почему и как еще я должен отлаживать приложение?

вещей, которые я уже пробовал для отладки:

  • пошаговое выполнение приложения с кодом противdebuggin.Не работает, потому что висит в каком-то другом потоке.

  • с использованием -m trace.Сравните выше

  • с использованием отпечатков.Может работать, но не является хорошим решением, потому что приложение довольно большое

1 Ответ

0 голосов
/ 28 ноября 2018

Я смог решить эту проблему, используя strace и следуя всем действиям по написанию моего кода.Точная команда, которую я использовал, была strace -e trace=write my_script.py &> output.txt.

Я бы порекомендовал записать вывод в файл, потому что strace довольно многословен.

...