HarmonyOS JS引擎OH\_JSVM\_OpenInspector调试问题 55?

按文档描述

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/jsvm-debugger-cpuprofiler-heapsnapshot.md

通过 OH\_JSVM\_OpenInspector 搭配 OH\_JSVM\_WaitForDebugger 可以实现对JS代码远程调试,通过一系列操作开启DevTools后,发现2个问题

1、客户端第一次执行OH\_JSVM\_RunScript 后在devtools会有自动断点,那后续OH\_JSVM\_RunScript 代码如何触发自动或者手动的断点呢?

2、DevTools里面的Console无法使用,特别不友好。图里面输入了globalThis, console卡死不输出,经过测试发现需要等待客户端一次console.log的输出,globalThis的值才会被log出来

阅读 573
1 个回答

1、关于自动断点:

在执行JS代码之前,调用OH\_JSVM\_OpenInspector创建socket连接 。

然后调用OH\_JSVM\_WaitFordebugger等待主机与inspector建立socket连接 。

检查端侧端口是否打开成功,可以通过命令行工具hdc shell "netstat -anp | grep 9225"来查看。

在DevTools中输入localhost:9229/json,回车进入DevTools源码页,即可看到在应用中通过OH\_JSVM\_RunScript执行的JS源码,此时可以在源码页打断点 。

2、关于DevTools中的Console:

确保在配置文件module.json中配置网络权限,并开启DevEco Studio的Debug模式(无需设置断点),或者在非主线程的其他线程中运行JSVM。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/jsvm-debugger-cpuprofiler-heapsnapshot-V5

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进