IntelliJ / Android Studio调试:不会调用回调中的断点

时间:2016-01-13 07:37:23

标签: debugging android-studio intellij-idea

我在我的应用程序中使用Retrofit,如下所示:

    beforeFubar();
    MyRetrofitApi.getFoo(new Callback<Foo>() {
        @Override
        public void success(Foo arg0, Response arg1) {
        successFubar();

        }

        @Override
        public void failure(RetrofitError arg0) {
        failureFubar(); 
        }
    });

我把断点放在

  • beforeFubar()
  • successFubar()
  • failureFubar()

beforeFubar()处的断点被正确调用,执行停止

BUT

successFubar()failureFubar()处的断点不会被调用(但会被执行)

拜托,我在这里缺少什么?

修改

如果我在设置断点时设置Suspend All,似乎问题就解决了。

请问您的经历是什么?这会解决问题吗?

enter image description here

3 个答案:

答案 0 :(得分:1)

过去曾报告类似的问题,似乎可以通过在断点活动的行之前添加对waitForDebugger()的调用来解决。

来源:How to debug android callbacks?

答案 1 :(得分:0)

由于您的ADB(Android调试桥)配置和设置,可能会出现此问题。

根据您的条件操作以下解决方案:

  • 如果您在测试设备上通过WiFi切换到USB
  • 调试您的应用
  • 如果您在AVD上进行调试,请尝试重新启动AS,然后重新建立
  • 使用以下命令以及您的PC重新启动adb服务器:

adb kill-server

adb start-server

答案 2 :(得分:0)

只需将 classpath 'com.android.tools.build:gradle:4.1.2' 更新到最新版本 如果它不起作用,您必须将您的android studio升级到最新版本