【发布时间】:2016-10-11 00:11:00
【问题描述】:
我刚刚为现有的 android 应用设置了开发环境。一切似乎都设置正确,我可以构建应用程序、添加断点和调试应用程序。但我注意到一些奇怪的行为,我似乎找不到与该问题相关的任何内容。
- 当我启动模拟器或在设备上运行应用程序时,我可以浏览应用程序并且一切正常
- 当我运行调试器并添加断点时,断点被正确命中,我可以单步执行代码。
- 当我使用 F7(step-into) 或 F8(step-over) 退出具有初始断点的最后一个代码块时,应用程序关闭并且调试器停止。 android monitor > logcat 中没有错误。
- 如果我执行相同的步骤,而是使用 F9 来恢复程序,应用程序不会关闭并且一切正常运行。
这似乎与活动线程完成有关,并且可能与 Android Studio 调试选项有关?不过我不太确定,我还是 android 开发的新手。
为什么调试器会这样停止?有没有办法确保你运行到下一个断点?
编辑
我也可以通过一个新的 android 项目来重现这一点,我在 OnCreate 方法中添加一个断点并像这样单步执行结束
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); <------- Breakpoint added here
setContentView(R.layout.activity_main);
......
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
} <------- Application terminates after this line
【问题讨论】:
-
在我的环境中,这个问题发生在 Android 6.0.1 上,而不是 Android 4.4、5.1.1 和 N(预览版)。我不知道为什么。
-
您是否通过任何更改来停止调试模式?因为如果你是应用程序关闭而不显示任何内容,因为你会说你想关闭调试模式
-
请尝试阅读错误信息并在此处发布。您的 Activity 是否在 AndroidManifest 中声明?
-
这是一个令人讨厌的错误。仍然发生在 A.S. 2.2.2 和 API 25。有时退出工作,所以它似乎仅限于某些条件。但我还不能识别它们。