設定PuerTs的步驟這裡不贅述。
正常來說,直接開啟專案可以看到如下畫面
如果直接點選執行,可以發現下方的 Output Log 視窗已經開始 Print 了很多案例。
是因為該專案預設執行的是QuickStart.ts。
(這裡我們以 L17 為例)
(如果不知虛擬機器器的用途,可以檢視ZombieYang大佬的推文)
回到TsGameInstance.cpp中
將 註釋的程式碼 取消註釋
圖片過長,目前程式碼如下:
void UTsGameInstance::OnStart()
{
//GameScript = MakeShared<puerts::FJsEnv>();
GameScript = MakeShared<puerts::FJsEnv>(std::make_unique<puerts::DefaultJSModuleLoader>(TEXT("JavaScript")), std::make_shared<puerts::FDefaultLogger>(), 8889);
GameScript->WaitDebugger();
TArray<TPair<FString, UObject*>> Arguments;
Arguments.Add(TPair<FString, UObject*>(TEXT("GameInstance"), this));
GameScript->Start("QuickStart", Arguments);
}
注意看修改後的程式碼。我這裡已經將埠更改為 " 8889 "
同時開啟了WaitDebugger(),目的是Client等待V8的虛擬機器器(Client和V8虛擬機器器的關係同樣可以檢視ZombieYang大佬的推文)
①首先選擇5.2新增的Debug設定
②點選左側綠色 三角形
可以看到如下示意框
不出意外已經成功被中斷。
參考:
Puerts Inspector指南(一)在UE4和Unity裡偵錯Javascript