Android Studio, logcat очищает после закрытия приложения


134

У меня проблема с моим logcat после обновления 1.2 Beta для Android Studio. Когда я запускаю свое приложение, оно регистрирует все, как обычно, затем я попадаю в точку, когда мое приложение вылетает с сообщением: к сожалению, игра остановлена.

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

Что может быть полезно, так это то, что после его очистки и заполнения процесс изменяется на Android.process.core и сообщение, которое я получаю в моем журнале:

04-13 10:28:13.394  12259-12265/android.process.acore D/dalvikvm    
Debugger has detached; object registry had 1 entries

Изменить: я читал о точках останова, поэтому отключил приложение фокуса на точках останова в настройках-сборке, выполнении, развертывании-отладчике, но это не имело никакого эффекта.


2
Если вы найдете установленное местоположение программы adb, вы можете запустить ее adb logcatиз своего терминала или командного окна и, при необходимости, направить ее в пейджер, grep, tee или что-то еще.
Крис Стрэттон,

1
да, вы также можете попробовать adb shell bugreport > log.txt, виды информации журнала будут извлечены после завершения команды.
вкусно,

На данный момент @yummy сработал для меня лучше всего, все еще надеюсь найти исправление, поскольку, на мой взгляд, это не лучший способ. Спасибо
Black Lotus

1
Я не нашел никакого решения, чтобы не очищать журналы с помощью Android Studio 1.2, но простое решение - не нажимать кнопку закрытия (на устройстве) при сбое приложения. Таким образом, у вас есть все журналы и причины сбоев приложений.
Чакир

@Jameltheone Сообщения остаются на экране всего пару секунд. Затем закрывает сам диалог сбоя. Так что не контролируйте это.
Black Lotus

Ответы:


272

У меня была такая же проблема, но она больше похожа на функцию, чем на ошибку:

В AndroidStudio настройка по умолчанию для окна Logcat выглядит как «Показать только выбранное приложение» (верхний правый угол окна Logcat) ... которое просматривает журнал выбранного процесса (текущий запуск по умолчанию). Поэтому, когда ваше приложение вылетает во время тестирования, этот процесс прекращается, поэтому фильтр очищает журнал.

Вместо этого выберите «Изменить конфигурацию фильтра ...» и настройте фильтр для своего приложения , например:

  • Имя фильтра: MyApp
  • PackageName: com.example.myapp (<< замените на имя пакета вашего приложения)

... а затем выберите этот фильтр для будущих запусков. Это должно сохранить журнал там даже после сбоя приложения.


1
Огромное спасибо. 2 дня назад выяснял ошибку! Теперь я знаю, как действительно увидеть ошибку. :)
Woppi

1
Вы - СПАСАТЕЛЬ, пытался скопировать и вставить журнал, прежде чем он очистится ... думал, что это сделал мой телефон, потому что другие телефоны работают нормально.
Мастер Фатхи

1
Как раз то, что мне не хватало. Это должен быть принятый ответ.
Grease

1
Была такая же проблема. Прекрасно работает.
Чандан Педнекар

59

Установите для параметра «Показывать только выбранное приложение» значение «Без фильтров». Таким образом, вы можете видеть вывод logcat из процесса, даже если этот процесс не запущен.

Обратной стороной является то, что ваш logcat будет заполнен большим количеством спама от других процессов.


1
чтобы отфильтровать спам, введите имя пакета вашего собственного приложения в строке поиска помимо раскрывающегося списка «Показать только выбранное приложение / без фильтра».
computingfreak

24

Мое приложение вылетало и перезапускалось. У меня также были некоторые проблемы с чтением logcat, чтобы узнать, что происходит. Затем я заметил, что в раскрывающемся меню рядом с раскрывающимся меню «Устройство» было что-то вроде «com.mypackage.myapp ('some number')», а когда мое приложение вылетало из строя, был другой вариант, который гласил «com.mypackage.myapp ( 'какое-то число') [МЕРТВЫЕ] " . Если вы выберете вариант «Мертвый», он покажет вам логарифм предыдущего экземпляра.

Мертвый LogCat


Появляется при падении.
ALourenco 07

Я имел в виду аварию. PID изменяется, но мертвый экземпляр не отображается в списке.
Каран Моди

20

В случае сбоя см. RunВкладку в нижней части IDE.

Вы можете увидеть причину сбоя в этой части (даже в случае очистки logcat).

Примечание. Если описанный выше трюк не работает, попробуйте вызвать сбой и немедленно отсоедините мобильный кабель (если для теста вы используете реальное устройство). вы можете увидеть ошибку до ее очистки.

Обновление: если описанный выше трюк не работает, попробуйте подключить и отсоединить телефон, и, надеюсь, проблема решена.

Обновление 2: если снова не работает, попробуйте сделать уловки недействительными и перезапустить, затем снова начните отладку.

Update3: в качестве последнего способа попробуйте удалить приложение и установить его снова, затем начните отладку (если вы не потеряете то условие, которое хотите проверить)


6

В Android Studio 2+

  1. щелчок Run

  2. щелчок Edit Configurations

  3. В Run/Debug Configurationsоткрывшемся окне выберите Miscellaneousвкладку

  4. Убедитесь, что Clear log before launchфлажок не установлен


4

Я столкнулся с той же проблемой, и это решение: -

1- Инструменты -> Android -> Включить интеграцию ADB.

и теперь вы можете видеть логарифм и сбои как обычно


К сожалению, моя интеграция с ADB уже была включена. Что очень полезно, так это то, что после очистки я получаю сообщение: 04-13 10: 28: 13.394 12259-12265 / android.process.acore D / dalvikvm ﹕ Отладчик отсоединился; реестр объектов содержит 1 запись
Black Lotus

@BlackLotus вы решили свою проблему? Я сталкиваюсь с той же проблемой здесь
Hoo

Это больше не действует в новой Android Studio.
Хамзе Собо,

4

Фильтр очищает журнал после сбоя приложения. Поэтому выберите «Изменить конфигурацию фильтра» и создайте свой собственный фильтр с именем фильтра. Это сохранит журнал с информацией, даже когда приложение будет взломано.


1

Сейчас 2018 год, и это еще может произойти. Закройте Android Studio и снова откройте.


0

Эта ошибка, похоже, исправлена ​​в новом выпуске Android Studio версии 1.2.2.


1
Ошибка все еще существует, даже в Android Studio 2.2.2, поэтому я думаю, что @maxdownunder был совершенно прав, предполагая, что это действительно ... «функция»
Aenadon

0

Я столкнулся с той же проблемой, и ни один из ответов не мог мне помочь, пока я не понял, что мое приложение вызывает OutOfMemoryException. Это также вероятная первопричина.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.