Bootstrap Chameleon Logo

How do Debug TAPython

当需要调试python代码时,可以通过以下步骤在VSCode中进行断点调试。 官方python插件在 <UE_Engine>\Plugins\Experimental\PythonScriptPlugin\Content\Python\debugpy_unreal.py中也有步骤说明,本文步骤略有修改和补充

  1. 通过pip 安装第三方库debugpy,或者通过这个方法. 指定debugpy所在的外部site-packages目录。
  2. 在VSCode中添加调试配置文件:主菜单-运行-添加配置-Python-远程连接,主机名:localhost, 端口:5678, redirectOutput: true
    {
         "version": "0.2.0",
         "configurations": [
             {
                 "name": "Unreal Python",
                 "type": "python",
                 "request": "attach",
                 "connect": {
                     "host": "localhost",
                     "port": 5678
                 },
                 "redirectOutput": true
             }
         ]
     }
  1. 当需要调试时,在UE的python的命令行控制台中运行:
    import debugpy_unreal
    debugpy_unreal.start()
debugpy_unreal.start()中会调用 debugpy.wait_for_client()等待 VSCode,此时会表现为编辑器卡死,不用在意,继续步骤4
  1. 在VSCode中主菜单-运行-启用调试(F5),将VSCode Attach到UE的python中。此步骤确保启用了步骤2中创建的调试配置文件
  2. 在VSCode中打开需要调试的py文件,设置断点,运行即可。也可在在py文件中通过
    debugpy_unreal.breakpoint()
直接中断python的运行。(通过此方法中断的py文件,会自动的在VSCode中打开)

VSCode_debugpy_unreal