完成元服务开发后,开发者可以根据需要,选择使用以下其中一种方式运行元服务。
在Phone和Tablet中运行HarmonyOS元服务的操作方法一致,可以采用USB连接方式或者无线调试的连接方式。
具体操作可参考DevEco Studio操作指导-使用本地真机运行应用/元服务。
DevEco Studio提供了模拟器(Emulator),模拟器模拟了真实设备的基本功能,开发者可以更灵活、更高效地进行元服务开发和调试,提升开发体验与效率。
具体操作可参考DevEco Studio操作指导-使用模拟器运行应用/元服务。
热重载是一种可以实时生效代码的功能。在DevEco Studio中启用热重载功能后,开发者对页面的 css/hxml/js/json 文件进行修改时,调试设备将自动应用更新内容,无需额外操作。大幅减少了重新编译和运行的时间,极大提升开发效率。
版本限制:ASCF Plugin版本 ≥ 1.0.4.304
DevEco Studio 6.0以下的版本,将在浏览器中打开调试页面。
通过“视图-> 工具窗口-> ASCF 调试器”打开调试页面,也可以直接点击左下方工具窗口栏的
(New UI)打开。对于DevEco Studio版本在6.0.0以下的用户,可以在下方工具窗口栏的
打开调试页面。

在DevEco Studio运行元服务,详细参考:使用本地真机运行元服务。
调试分为:视图层(Webview)和逻辑层(V8引擎),详细参考:调试运行ASCF源代码。
点击ASCF 调试器的
按钮,逻辑层(V8引擎)调试会在DevEco Studio中自动拉起,如下图所示。

在浏览器中打开“chrome://inspect/#devices“,即可调试视图层(Webview)。
调试ASCF项目模式下,在ASCF项目根目录下使用以下命令开启调试功能。
开启Webview调试和V8引擎调试:
ascf debugger start
执行命令成功后,根据日志提示,在chrome浏览器上打开调试工具页面。
浏览器直接打开V8引擎调试页面:
ascf debugger start -o
关闭Webview调试和V8引擎调试:
ascf debugger stop
单独开启Webview调试:
ascf debugger start-view
单独关闭Webview调试:
ascf debugger stop-view
单独开启V8引擎调试:
ascf debugger start-service
单独关闭V8引擎调试:
ascf debugger stop-service
查看当前调试开启状态:
ascf debugger status
当连接HarmonyOS 5.0及以上设备,ascf debugger start -ct hdc时,在电脑端Chrome浏览器地址栏中输入调试工具地址 chrome://inspect/#devices 并打开该页面。
当连接HarmonyOS 4及以下设备,ascf debugger start -ct adb时,在日志搜索关键字start debug server url获取调试地址,在电脑端Chrome浏览器地址栏中输入调试地址并打开该页面。
需要从本地的TCP 9222、TCP 9229端口发现被调试网页,所以请确保已勾选 "Discover network targets"。然后再进行网络配置。9222端口对应Webview调试窗口,9229端口对应V8引擎调试窗口。
(1) 点击 "Configure" 按钮。
(2) 在 "Target discovery settings" 中添加要监听的本地端口localhost:9222和localhost:9229。

点开Chrome调试>点击Network控制板,面板展示的是has.download、has.upload、has.request、has.getImageInfo请求的资源。点击面板的请求,可以查看详细的网络请求信息。
当前仅支持HarmonyOS 4及以下设备网络调试。

命令行工具调试功能参数,可以通过以下命令获取帮助:
ascf debugger start --help
调试
| 选项 | 作用 |
|---|---|
| --bundleName | 指定调试ASCF的包名。 例如: ascf debugger start --bundleName com.atomicservice.1234568789 |
| --open [chrome|edge] | 浏览器打开V8引擎调试。支持指定chrome和edge。 |
| --deviceId | 当PC连接多台设备时,指定调试用设备。 例如: ascf debugger start --deviceId 123456789 可使用命令hdc list targets查询已连接的所有目标设备。 |
-ct --connectorType | 设备调试工具类型,支持hdc/adb,默认hdc。当在HarmonyOS 4及以下设备上调试时,需要指定为adb。 |
如果暂不支持以上命令,请升级ASCF Toolkit至版本1.0.5及以上,或参考以下方式进行调试。
Webview调试:开启方法请参考使用Devtools工具调试前端页面。
V8引擎调试:在manifest.json中,设置debug=true会自动开启调试功能。支持在ascf.config.json配置 "ascfDebugger": "brk" 首行断点。
支持手动开启V8引擎调试,本地执行 hdc fport tcp:9229 tcp:9225 后,访问 http://localhost:9229/json 后,复制 devtoolsFrontendUrl 使用浏览器打开调试页面。
如果遇到开启调试失败问题(getDebugger[fport]error,默认[fport]为9222/9229),如果根据日志提示排查后仍无法解决,可能是因为当ASCFToolkit版本≤1.0.9时,用户电脑将localhost解析为ipv6地址,导致工具链无法正确检测到端口。可以升级ASCFToolkit到1.0.10及以上版本重试。

如果想要查看console API输出的日志内容和调用has接口的信息,可以在ascf.config.json中配置 {"enableDevtools": true}, 即可开启调试面板。
在页面上出现
即说明开启成功。
开启调试控制台可能会影响页面加载时长,生产阶段不建议开启。
调试控制台主要包括以下功能:






在 DevEco 在底部找到 Log 面板,筛选你正在开发的应用,过滤关键字006F 或 ascf-app,观察是否有告警、错误。

使用ASCF助手在VSCode中开发,查看开发者打印日志,请参考打开日志。
如果报错中包含 xxx is not defined,可能是对应的 api 在元服务中还未实现,需要对接口做适配。
点击VSCode下方调试按钮,可以编译运行元服务并拉起调试页面。

调试分为:视图层(Webview)和逻辑层(V8引擎),详细参考:调试运行ASCF源代码。
逻辑层(V8引擎)调试会在vscode中自动拉起,如下图所示。

在浏览器中打开“chrome://inspect/#devices“,即可调试视图层(Webview)。