问题现象
因为卡片事件是从应用的form进程发起,正常情况下使用debug模式运行后会导致走不到断点;另外卡片交互冷启动应用的场景也无法正常使用debug模式进行断点调试。
背景知识
- Form Kit(卡片开发框架)提供了一种在桌面、锁屏等系统入口上嵌入显示应用信息的开发框架和API,可以将应用内用户关注的重要信息或常用操作抽取到服务卡片(简称“卡片”)上,通过将卡片添加到桌面、锁屏等系统入口上,以达到信息展示、服务直达的便捷体验效果。
- 开发者可以通过将某个应用设置为“等待调试模式”,然后当开发者需要对应用进行调试时,拉起应用即可快速进入调试。
解决方案
开发者可通过两种方式对EntryFormAbility生命周期函数进行调试。
- 应用安装到设备上后,通过等待调试方式进行调试。
- 修改运行调试配置项,指定当前运行或调试的Ability为Extension Ability。
方式一:需要使用IDE的“等待调试”能力进行卡片交互调试。具体的实现步骤为:
- 在设备选择框中选择调试的设备,并单击Run-》Attach to Process by Name。

- 在选择调试的工程并将类型选为ArkTS。然后单击Attach,即可将该应用设置为“等待调试模式”。

- 确认DevEco Studio底部出现Waiting for debugger进度条后,可以开始调试。

- 在需要调试的代码行的左侧边线设置断点。

- 操作应用,当应用运行到代码处,会在代码处停住,并高亮显示。

方式二:需要修改IDE的运行配置方式。具体的实现步骤为:
- 在运行调试窗口,运行配置项Launch Options选择Specified Ability。

- 选择需要进行调试的EntryFormAbility。

- 点击OK保存配置后,点击调试按钮,启动调试即可命中生命周期函数断点。
