Почему я не могу видеть свои инструкции печати в Logcat?

#android #debugging #logcat

#Android #отладка #logcat

Вопрос:

Я пытаюсь отладить код в моей первой программе для Android. Я начал использовать обычный println, и он работал в более раннем методе main (onCreate), показывая результаты в LogCat. Однако, похоже, что это не работает ниже, поэтому я начал пытаться выполнить Log.i / Log.d безрезультатно. Я в основном пытаюсь увидеть, действительно ли программа выполняет приведенный ниже метод — хотя в LogCat не создаются инструкции печати, я думаю, что код действительно выполняется, поскольку, когда я нажимаю кнопку «создать» или «выйти» в моем приложении, кажется, что он попадает в правильное место в инструкции case и запускает finish ();

Была бы очень признательна любая помощь в получении чего-либо напечатанного в LogCat, чтобы я мог видеть, что происходит.

Спасибо

Эд Райан

 
 public void onClick(final View v) {

        System.out.println("Here in  - onClick");
        switch (v.getId()) {
        case R.id.about_button:
           System.out.println("Here in  - onClick1");
           Intent i = new Intent(this, About.class);
           startActivity(i);
           break;
        case R.id.new_button:
            System.out.println("Here in  - onClick2");
            finish();
           //openNewGameDialog();
           break;
        case R.id.exit_button:
            Log.i("onDisabled","info");
            Log.d(TAG, "onDisabled");
            System.out.println("Here in  - onClick3");
           finish();
           break;
        }
     }


}//end class


  

Комментарии:

1. Получаете ли вы вообще какие-либо выходные данные любого рода от LogCat? иногда он теряет синхронизацию, и вам нужно ее повторно синхронизировать (иногда достаточно закрыть и открыть окно logcat).

2. Создайте фильтр в вашем LogCat (зеленая кнопка ) Имя фильтра: "Sysout" - по тегу журнала: "System.out" затем нажмите OK, проверьте эту вкладку для вашего системного выхода, чтобы убедиться, что вы его не пропустите!

3. Хотя могут возникнуть и другие проблемы, переключитесь на Log.whatever методы более "в стиле Android"

Ответ №1:

Я испытал это при использовании LogCat в Eclipse. Это происходит, когда устройство отключается или теряет фокус, или когда вы выполняете отладку с использованием 2 или более разных устройств / эмуляторов.

Попробуйте следующее:

  1. Перейдите в перспективу DDMS и дважды щелкните приложение, которое вы отлаживаете, или, по крайней мере, устройство. Вы должны увидеть, как вкладка LogCat заполняется новыми сообщениями.
  2. Удалите все устройства, кроме того, с которым вы работаете в данный момент.
  3. Попробуйте снова просто использовать функции Log.*.
  4. Установите фильтр LogCat на Debug или Verbose.

Комментарии:

1. Спасибо тебе, Джереми. Я попробую это. Очень высоко ценится.

2. Это сработало. Для других убедитесь, что не выбран Устаревший журнал Cat (значок Android стоит)

Ответ №2:

Если все остальное терпит неудачу:

Я сделал все вышеперечисленное и не смог понять, что было не так,

Тест с:

 adb logcat
  

чтобы выяснить, что мои записи были действительны в logcat, но это были причуды adt.

Исправить:

Перезапустите eclipse

Это было единственное, что исправило это.

Ответ №3:

Джереми Эдвардс на правильном пути. Вам нужно открыть DDMS perspective и щелкнуть по названию вашего устройства. Затем вернитесь к своей основной перспективе. Иногда журнал по-прежнему показывает не то, что вы хотите видеть, поэтому выберите обведенную кружком букву "V" над logcat. Это отобразит подробный режим logcat. В противном случае вы можете отфильтровать его с помощью i или d, которые ассоциируются с Log.i или Log.d соответственно. Затем прокрутите до нижней части logcat, чтобы просмотреть самые последние сообщения с устройства.

Комментарии:

1. Спасибо тебе, Фил. Я попробую. Очень признателен.

2. Нет проблем. Дайте мне знать, как это работает, проголосовав за мой ответ. Рад, что смог помочь!

Ответ №4:

Одно уточнение к ответу Джереми. В подсказке, где он сказал...

"Удалите все устройства, кроме того, с которым вы работаете в данный момент".

У меня это сработало не сразу, но после того, как я это сделал и вошел в:

Запуск> Конфигурации отладки> цель (вкладка справа)

и щелкнул флажок рядом с устройством, оно работало нормально. Я не уверен, требовались ли как удаление устройств, так и установка флажка, или было бы достаточно просто установить флажок, но я думаю, пока это работает, все хорошо.

Ответ №5:

Если вы пытаетесь просмотреть выходные данные AVD в Eclipse, иногда Eclipse и эмулятор отключаются. Обычно, если вы выполняете эти команды, все проясняется:

 adb kill-server
adb start-server
  

Откройте просмотр Устройств и убедитесь, что вы видите свое устройство / AVD.

Комментарии:

1. Спасибо, Тед. Я попробую это. Очень признателен.