Почему отладчик не подключается при попытке отладки с помощью эмулятора Android и Eclipse? - PullRequest
0 голосов
/ 16 декабря 2011

Я не могу отладить ни одно из моих приложений на моем эмуляторе, все они зависают в «Приложение ... ожидает подключения отладчика. Раньше это не было проблемой. Я пытался отлаживать запрограммированные мной приложения месяцев назад, и даже те из них не могут быть подключены к отладчику.

Я искал вокруг и нашел общие решения этой проблемы, такие как: Используя разрешение "android.permission.SET_DEBUG_APP" и наличие тега приложения android: debuggable = "true", найденного в этом вопросе Присоединение отладчика - проблема с Android , но после проверки обнаружил, что мои приложения уже имеют эти настройки.

Я также проверил настройку «Отладка USB» в разделе «Настройки»> «Приложения»> «Разработка». Я также всегда проверяю новые обновления для затмения. Я думаю, что у меня возникла эта проблема после обновления затмения. Кто-нибудь нашел решение этой проблемы? Я работал над действительно классным приложением и смог создать пользовательский интерфейс, но мне действительно нужно иметь возможность отлаживать, так как я буду реализовывать вещи, которых у меня не было раньше, и никакая отладка не будет серьезным препятствием и замедлит меня.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

У меня возникла эта проблема в последнее время, начиная с инструментов Android 15. Обнаруженный мной обходной путь заключается в запуске эмулятора перед запуском затмения.Тогда, кажется, работает нормально.

0 голосов
/ 10 ноября 2014

Убедитесь, что ваша панель потоков не отображается. Как заметил @arcadoss, отладчик должен некоторое время простаивать, а панель потоков постоянно обновляет потоки в своем представлении.

0 голосов
/ 28 февраля 2014

Согласно источникам Android, ОС будет сидеть и вращаться в бесконечном цикле, пока отладчик не будет достаточно простаивать.Вы можете заставить отладчик бездействовать, нажав кнопку паузы отладки, подождав 1,5 секунды и нажав возобновить.После этого отладчик должен присоединиться.

    /*
     * There is no "ready to go" signal from the debugger, and we're
     * not allowed to suspend ourselves -- the debugger expects us to
     * be running happily, and gets confused if we aren't.  We need to
     * allow the debugger a chance to set breakpoints before we start
     * running again.
     *
     * Sit and spin until the debugger has been idle for a short while.
     */
    while (true) {
        long delta = VMDebug.lastDebuggerActivity();
        if (delta < 0) {
            System.out.println("debugger detached?");
            break;
        }

        if (delta < MIN_DEBUGGER_IDLE) {
            System.out.println("waiting for debugger to settle...");
            try { Thread.sleep(SPIN_DELAY); }
            catch (InterruptedException ie) {}
        } else {
            System.out.println("debugger has settled (" + delta + ")");
            break;
        }
    }    
...