# Attach Debugger调试失效，无法正常拦截断点

#### 问题现象

使用IDE工具进行Attach启动调试时，断点可以正常打，运行之后会出现Native调试器和ArkTS调试器两个窗口，因项目未使用Native相关代码，将Native调试窗口关闭后，只调试ArkTS。ArkTS窗口未显示将文件加入到调试进程的信息，且触发断点没有正常拦截到，断点调试失效。

#### 背景知识

Attach调试是一种在应用运行时连接到应用的调试方法，主要用于在应用部署后发现和修复问题。在HarmonyOS开发中，如果你需要调试一个已经运行的应用，可以通过Attach进行调试。

#### 问题定位

在进行Attach调试或者Debug调试时，如果设置调试代码类型为Detect Automatically，则会根据工程模块及其依赖的模块涉及的编程语言，自动启动对应的调试器。项目工程较大时，调试器启动也会相对较慢，如果在Native调试器未启动完成时将其关闭，也会影响到ArkTS调试器的启动，可能会导致调试功能失效。

#### 分析结论

项目启动Attach调试时，分别启动了Native调试器和ArkTS调试器，在Native调试器未启动完成时将其关闭，导致ArkTS调试器也启动失败，从而无法正常拦截断点，调试功能失效。

#### 修改建议

1.  如果出现Native调试器和ArkTS调试器两个窗口，需要等待两个窗口都加载完成，才能进行调试。
2.  可以在调试之前编辑调试配置，在Debugger页签中设置Debug type为ArkTS/JS或Native，只启动自己需要的调试器。可参考文档：自定义运行/调试配置。