chexiongsheng / puerts_unreal_demo

unreal demo for puerts
MIT License
178 stars 80 forks source link

怎么调试TS #55

Open RPG3D opened 3 months ago

RPG3D commented 3 months ago

windows UE5.4.3, V8 9.4 非nodejs版 在QuickStart.ts 打开debugger;语句重新生成QuickStart.js PIE运行后没有停住Game线程,从日志看有如下提示 LogV8Inspector: Startup Inspector Successfully! Please Open This URL in Debugger Front-End(e.g. Chrome DevTool):

devtools://devtools/bundled/inspector.html?v8only=true&ws=127.0.0.1:8080

打开浏览器有对应页面,不知道怎么在浏览器调试TS, PIE停止后浏览器网页端就断开连接了, 需要额外配置什么吗?

RPG3D commented 3 months ago

还得在puerts->Start()前打开WaitDebugger

RPG3D commented 3 months ago

从ts文件注释看debugger语句本身就是为了解决脚本执行太早来不及调试问题,应该不需要在cpp执行waitdebugger?

chexiongsheng commented 3 months ago

只有需要断点初始化的脚本才需要用到waitdebugger。大多数脚本都不属于这种情况,都是ui事件、网络事件,tick等驱动的。

chexiongsheng commented 3 months ago

简单来说,QuickStart可能毫秒内已经执行完毕了,你这时鼠标正在移向vscode去点击调试按钮的过程中,可能还没移动1个像素。即使你这么厉害能在0毫秒内点到按钮。vscode调试器启动的时间,用websocket链接v8的时间,也都远远大于QuickStart的执行时间。

chexiongsheng commented 3 months ago

从ts文件注释看debugger语句本身就是为了解决脚本执行太早来不及调试问题,应该不需要在cpp执行waitdebugger?

debugger应该也可以

RPG3D commented 3 months ago

从ts文件注释看debugger语句本身就是为了解决脚本执行太早来不及调试问题,应该不需要在cpp执行waitdebugger?

debugger应该也可以

cpp中不打开waitdebugger不会暂停,打印完 devtools://devtools/bundled/inspector.html?v8only=true&ws=127.0.0.1:8080 会继续执行