如何使用Pycharm调试另一个程序运行的Python脚本

时间:2019-10-30 08:22:39

标签: pycharm

我正在使用python作为coco2d-x游戏引擎中游戏逻辑的脚本语言。 我知道如何在Pycharm中调试python脚本。

当其他程序调用python脚本时,如何调试它们?就我而言,它是游戏引擎提供的模拟器。 如果脚本未在Pycharm内部启动,Pycharm还能以某种方式捕获脚本的执行过程吗?

我尝试使用“附加到本地进程”,但找不到任何附件。 我已经阅读了相关主题,例如“ how to step through python code”,“ remote debug”。 但是找不到解决我问题的类似主题。

1 个答案:

答案 0 :(得分:0)

我自己为此找到了解决方案。我使用了问题中提到的远程调试。

  1. 将“本地主机名”设置为“ localhost”并设置端口。
  2. 然后将“ pycharm-debug-py3k.egg”文件解压缩到某个目录。
  3. 使用args“ -debug%EGG_PATH%%PYTHON_PATH%%PORT%”启动Game.exe。

在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” arg之类的情况下有效。

我的问题有点像是这个问题的重复。 debugging a uwsgi python application using pycharm