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

如何使用Pycharm调试另一个程序运行的Python脚本,pycharm,Pycharm,我正在使用python作为coco2d-x游戏引擎中游戏逻辑的脚本语言。 我知道如何在Pycharm中调试python脚本 当另一个程序调用python脚本时,如何调试它们?在我的例子中,它是由游戏引擎提供的模拟器。 如果脚本不是在Pycharm中启动的,Pycharm还能以某种方式捕获脚本的执行过程吗 我尝试使用“附加到本地进程”,但找不到。 我读过像“”这样的相关主题。 但是找不到解决我问题的类似主题。我自己找到了解决方案。我使用了问题中提到的远程调试 将“本地主机名”设置为“本地主机”,并

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

当另一个程序调用python脚本时,如何调试它们?在我的例子中,它是由游戏引擎提供的模拟器。 如果脚本不是在Pycharm中启动的,Pycharm还能以某种方式捕获脚本的执行过程吗

我尝试使用“附加到本地进程”,但找不到。 我读过像“”这样的相关主题。
但是找不到解决我问题的类似主题。

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

  • 将“本地主机名”设置为“本地主机”,并设置端口
  • 然后将“pycharm-debug-py3k.egg”文件解压缩到某个目录
  • 使用args“-debug%EGG\u PATH%%PYTHON\u 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)
    
    sys.path.append(“”)
    sys.path.append(“/Lib”)
    sys.path.append(“/DLLs”)
    sys.path.append(“>
    进口pydevd
    settrace(host=“localhost”,port=,suspend=False,stdoutToServer=True,stderrToServer=True)
    
    在我的例子中,这仅在调用方程序支持“-debug”arg之类的东西时有效

    我的问题有点像这个问题的翻版。