Как я могу использовать Pycharm для отладки скрипта Python, запущенного другой программой - PullRequest
0 голосов
/ 30 октября 2019

Я использую python в качестве языка сценариев для игровой логики в игровом движке coco2d-x. Я знаю, как отлаживать скрипты Python в Pycharm.

Как я могу отлаживать свои скрипты Python, когда они вызываются другой программой? В моем случае это симулятор, предоставляемый игровым движком. Если сценарии не запускаются внутри Pycharm, может ли Pycharm по-прежнему каким-либо образом захватывать процесс выполнения сценариев?

Я пытался использовать «присоединение к локальному процессу», но не смог найти ни одного. Я прочитал связанные темы, такие как " как пройти через код Python ", " удаленная отладка ". Но не могу найти похожие темы, которые касаются моей проблемы.

1 Ответ

0 голосов
/ 05 ноября 2019

Я нашел решение для этого сам. Я использовал Удаленную Отладку, упомянутую в вопросе.

  1. Установите для «Локального имени хоста» значение «localhost» и установите порт.
  2. Затем извлеките файл «pycharm-debug-py3k.egg» в какой-то каталог.
  3. Запустите Game.exe с аргументами "-debug% EGG_PATH%% PYTHON_PATH%% PORT%".

В проекте python вы должны написать следующий код, чтобы это работало.

sys.path.append("<path to python>")
sys.path.append("<path to python>/Lib")
sys.path.append("<path to python>/DLLs")
sys.path.append("<path to pycharm-debug.egg>">
import pydevd
pydevd.settrace(host="localhost", port=<your port>, suspend=False, stdoutToServer=True, stderrToServer=True)

Это работает, только если вызывающая программа поддерживает что-то вроде аргумента "-debug"в моем случае.

Мой вопрос является своего рода дубликатом этого вопроса. отладка приложения Python uwsgi с использованием pycharm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...