使用VsCode调试UE5的PuerTs

使用VsCode调试UE5的PuerTs

1、下载测试的Demo项目

配置PuerTs的步骤这里不赘述。

2、准备工作

2.1 打开项目

正常来说,直接打开项目可以看到如下画面

使用VsCode调试UE5的PuerTs插图
如果直接点击运行,可以发现下方的 Output Log 窗口已经开始 Print 了很多案例。
是因为该项目默认执行的是QuickStart.ts。

2.2 打开TsGameInstance.cpp

使用VsCode调试UE5的PuerTs插图1

3、添加VsCode断点

3.1 在VsCode找到QuickStart.ts,随便断一个点

(这里我们以 L17 为例)
使用VsCode调试UE5的PuerTs插图2

4、 修改虚拟机端口 (8889)

(如果不知虚拟机的用途,可以查看ZombieYang大佬的推文
回到TsGameInstance.cpp中
将 注释的代码 取消注释
使用VsCode调试UE5的PuerTs插图3
图片过长,目前代码如下:

void UTsGameInstance::OnStart()
{
    //GameScript = MakeShared<:fjsenv>();
    GameScript = MakeShared<:fjsenv>(std::make_unique<:defaultjsmoduleloader>(TEXT("JavaScript")), std::make_shared<:fdefaultlogger>(), 8889);
    GameScript->WaitDebugger();
    TArray> Arguments;
    Arguments.Add(TPair(TEXT("GameInstance"), this));
    GameScript->Start("QuickStart", Arguments);
}

注意看修改后的代码。我这里已经将端口更改为 " 8889 "
同时打开了WaitDebugger(),目的是Client等待V8的虚拟机(Client和V8虚拟机的关系同样可以查看ZombieYang大佬的推文

5、添加VsCode配置

5.1 打开VsCode的Debug配置

使用VsCode调试UE5的PuerTs插图4

5.2 选择 Node.js : Attach

使用VsCode调试UE5的PuerTs插图5

5.3 更改端口为 (8889)

使用VsCode调试UE5的PuerTs插图6

6、开始Debug

6.1 启动VsCode待命

①首先选择5.2添加的Debug配置
使用VsCode调试UE5的PuerTs插图7
②点击左侧绿色 三角形 使用VsCode调试UE5的PuerTs插图8
可以看到如下示意框
使用VsCode调试UE5的PuerTs插图9

6.2 启动2.1的项目

不出意外已经成功被中断。

7、 尽情Debug~

使用VsCode调试UE5的PuerTs插图10

参考:

[UE] 1.64.2的VSCode无法断点调试TS

Puerts Inspector指南(一)在UE4和Unity里调试Javascript

文章来源于互联网:使用VsCode调试UE5的PuerTs

THE END
分享
二维码