目录
应用场景概述
针对“JS FA调用Java PA”和“JS FA拉起Java FA”这两种场景,DevEco Studio提供了JS/Java跨语言的调试功能,开发者可以直接从JS代码Step Into进入到Java代码调试中。JS/Java跨语言调试功能包括JS和Java断点的管理、调试信息的展示、单步调试等能力,方便开发者快速发现并解决JS FA调用Java PA相关代码的问题。
JS FA调用Java PA场景
在HarmonyOS应用/服务开发中,通常会涉及到使用JS和Java语言同时开发的场景,一般使用JS来开发应用/服务的UI,使用Java开发应用/服务的逻辑,JS FA调用Java PA,具体请参考JS FA调用Java PA的机制介绍
。
说明
暂不支持JS FA异步调用Java PA场景的跨语言调试。
在使用JS/Java跨语言调试设置断点时需注意,JS FA是调用者,Java PA是被调用者,需要在JS FA调用Java PA的代码行或者在Java PA相关接口处设置断点,然后单击Step Into才能在Java或JS实现处中断。JS FA拉起Java FA场景
在分布式拉起场景中,允许JS FA拉起一个本地或远程的Java FA,在使用JS/Java跨语言调试设置断点时需注意,JS FA是拉起方,Java FA是被拉起方,需要在JS FA调用Java PA的代码行或者在Java PA相关接口处设置断点,才能正常进入Java断点。
- JS FA端提供了如下接口:
- 拉起一个远程或本地的FA,无回调结果。
- 拉起一个本地的FA,并在回调中等待被拉起FA的结果返回。
- Java FA端提供了onStart(Intent intent)
接口,拉起Java端FA。
操作步骤
JS/Java跨语言调试的操作方法如下:
- 在菜单栏单击Run > Edit Configurations,选择HarmonyOS APP下的模块名(如entry),然后在右侧窗口中选择“Debugger”。
- 检查和设置“Debug type”,请选择Dual(Js+Java)或者Detect Automatically选项。
- 在JS FA调用Java PA处或者在Java PA的相关代码处设置断点。
- 单击 按钮或者快捷键Shift+F9,启动调试。
- 如果在JS FA调用Java PA代码行处设置断点:进入断点后,单击Step Into,快捷键为F7(macOS为F7),进入Java PA函数体,然后进行Java PA的调试。
- 如果在Java PA相关代码行处设置断点:进入断点后,单击Resume Program,快捷键为F9(macOS为Option+Command+R),开始Java PA的调试。