如何在Android Studio中实现IntelliJ的运行进程调试附加暂停功能?
在Android Studio中实现Attach Debugger后暂停查看堆栈的方法
完全可以实现类似IntelliJ的效果,只是因为Android应用的进程模型和普通Java程序不同,操作步骤有一点区别:
- 首先确保你运行的是Debug构建变体的应用(Android Studio默认Debug构建已经开启调试模式,无需手动修改AndroidManifest.xml;如果是Release构建,即使手动开启debuggable也可能有功能限制)
- 当应用处于无限循环运行状态时,点击Attach Debugger按钮,等待调试器成功连接到应用进程
- 连接成功后,直接点击调试工具栏上的暂停按钮(快捷键:Windows/Linux是
Ctrl+F2,Mac是Command+F2),程序会立即暂停在当前执行的代码行,此时就能查看完整的堆栈跟踪信息
为什么和IntelliJ普通Java项目不同?
普通Java程序通常是单进程单线程运行,调试器Attach时会自动暂停当前执行的线程;但Android应用是多进程多线程架构,调试器默认Attach后不会主动暂停所有线程,避免影响应用的正常后台运行,所以需要手动触发暂停操作。
内容的提问来源于stack exchange,提问作者VanechikSpace
相关产品推荐
相关产品推荐

