调试代码块完成后,Android应用程序关闭

时间:2016-06-10 06:23:30

标签: android android-studio

我刚刚为现有的Android应用设置了开发环境。一切似乎都设置正确,我可以构建应用程序,添加断点和调试应用程序。但是我注意到了一些奇怪的行为,我似乎无法找到与问题有关的任何事情。

  1. 当我启动模拟器或在设备上运行应用程序时,我可以浏览应用程序,一切都按预期工作
  2. 当我运行调试器并广告断点时,断点被击中,我可以单步执行代码。
  3. 当我使用F7(步入)或F8(步进)退出具有初始断点的最后一个代码块时,应用程序关闭,调试器停止。 Android监视器中没有错误> logcat的。
  4. 如果我执行相同的步骤但使用F9恢复程序,应用程序不会关闭,一切都正常运行。
  5. 看起来这可能与活动线程整理有关,可能还有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
    

3 个答案:

答案 0 :(得分:8)

这似乎是一个错误See issue tracker link

在方法结束时使用continue而不是step over应该解决上面提到的问题。虽然您可能需要添加额外的日志记录并将断点放在您希望代码在该方法之后的任何位置,以便以后的方法调试更容易。

答案 1 :(得分:6)

当你到达函数结束时不要使用步骤,只需使用“resume program”,然后它将转到下一个断点。

答案 2 :(得分:-1)

您可以尝试更好的Android设备,它可以承受调试的负担,而不会崩溃应用程序。它发生在我身上,现在我正在使用最适合开发目的的Nexus 5x。