# 如何对服务卡片进行调试

#### 问题现象

因为卡片事件是从应用的form进程发起，正常情况下使用debug模式运行后会导致走不到断点；另外卡片交互冷启动应用的场景也无法正常使用debug模式进行断点调试。

#### 背景知识

*   Form Kit（卡片开发框架）提供了一种在桌面、锁屏等系统入口上嵌入显示应用信息的开发框架和API，可以将应用内用户关注的重要信息或常用操作抽取到服务卡片（简称“卡片”）上，通过将卡片添加到桌面、锁屏等系统入口上，以达到信息展示、服务直达的便捷体验效果。
*   开发者可以通过将某个应用设置为“等待调试模式”，然后当开发者需要对应用进行调试时，拉起应用即可快速进入调试。

#### 解决方案

开发者可通过两种方式对EntryFormAbility生命周期函数进行调试。

*   应用安装到设备上后，通过等待调试方式进行调试。
*   修改运行调试配置项，指定当前运行或调试的Ability为Extension Ability。

方式一：需要使用IDE的“等待调试”能力进行卡片交互调试。具体的实现步骤为：

1.  在设备选择框中选择调试的设备，并单击Run-》Attach to Process by Name。
    
2.  在选择调试的工程并将类型选为ArkTS。然后单击Attach，即可将该应用设置为“等待调试模式”。
    
3.  确认DevEco Studio底部出现Waiting for debugger进度条后，可以开始调试。
    
4.  在需要调试的代码行的左侧边线设置断点。
    
5.  操作应用，当应用运行到代码处，会在代码处停住，并高亮显示。
    

方式二：需要修改IDE的运行配置方式。具体的实现步骤为：

1.  在运行调试窗口，运行配置项Launch Options选择Specified Ability。
    
2.  选择需要进行调试的EntryFormAbility。
    
3.  点击OK保存配置后，点击调试按钮，启动调试即可命中生命周期函数断点。