【问题标题】:IntelliJ/Android Studio debugging: Breakpoint in callback does not get calledIntelliJ/Android Studio 调试:回调中的断点没有被调用
【发布时间】:2023-03-27 02:02:01
【问题描述】:

我在我的应用程序中使用 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() 处的断点被正确调用并停止执行

但是

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

请问,我错过了什么?


编辑

如果我在设置断点时设置全部暂停,问题似乎得到了解决。

请问您的经验是什么?这能解决问题吗?

【问题讨论】:

  • 你的android studio是什么版本的?
  • @AndroidMechanic 嗨,机械师,现在是 1.5.1

标签: debugging android-studio intellij-idea


【解决方案1】:

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

来源:How to debug android callbacks?

【讨论】:

  • 感谢您的建议机制。这会在代码中添加很多额外的行:-(((你知道为什么会突然发生这种情况吗?
【解决方案2】:

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

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

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

adb kill-server

adb start-server

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2016-03-23
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多