Android Studio, logcat очищається після закриття програми


133

У мене виникають проблеми з моєю реєстрацією з моменту оновлення 1.2 Beta для Android Studio. Коли я запускаю свою програму, вона записує все, як це було, як правило, тоді я потрапляю в той момент, коли мій додаток виходить із програми, кажучи: на жаль, гра припинилася.

Через кілька секунд андроїд закриває це повідомлення. Коли це трапляється, мій logcat також стає повністю очищеним, тобто я ледве не отримую помилки в будь-який час. Я знайшов інформацію про буфер, але здається, що в 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з терміналу чи вікна команд і, за бажанням, передати його в пейджер, греп, трійник чи інше.
— Кріс Страттон

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

@yummy розробив найкраще для мене на даний момент, все ще сподіваюся знайти виправлення, оскільки це не найкращий спосіб на мою думку. Спасибі
— Чорний лотос

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

@Jameltheone Повідомлення залишаються на екрані протягом декількох секунд, після чого він закриває сам діалог аварій. Тож насправді не майте контролю над цим.
— Чорний лотос

Відповіді:


270

У мене був такий самий випуск, але він більше схожий на функцію, ніж на помилку:

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

Замість цього виберіть "Змінити конфігурацію фільтра ..." та встановіть фільтр для вашої програми , наприклад:

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

... а потім виберіть цей фільтр для майбутніх запусків. Це має тримати журнал для вас, навіть після збою програми.


Дуже дякую. Я з'ясовував помилку 2 дні тому! Тепер я знаю, як насправді переглянути помилку. :)
— Woppi

Ви, SAVIOR, намагався скопіювати вставити журнал, перш ніж він очиститься ... подумав, що це робиться на моєму телефоні, тому що інші телефони поводяться нормально.
— Майстер Фаті

Тільки те, чого мені не вистачало. Це має бути прийнятою відповіддю.
— Змащення

Була така ж проблема. Працює чудово.
— Чандан Педнекар

59

Перемкніть "Показати лише вибрану програму" на "Без фільтрів". Таким чином, ви можете побачити вихід logcat з процесу, навіть коли цей процес не працює.

Мінус полягає в тому, що ваш logcat заповниться більше спаму від інших процесів.


1
щоб відфільтрувати спам, введіть назву пакета власного додатка на панелі пошуку, окрім спаду "Показати лише вибрану програму / без фільтра".
— computingfreak

24

Мій додаток вийшов із ладу та перезапустився. У мене також були деякі проблеми з читанням logcat, щоб знати, що відбувається. Потім я помітив, що у випадаючому меню поруч зі спадним меню "Пристрій" було щось на кшталт "com.mypackage.myapp (" деяке число ")", і коли мій додаток вийшов з ладу, з'явився інший варіант, який сказав "com.mypackage.myapp ( 'деяка кількість') [DEAD] " . Якщо ви виберете параметр "Мертвий", він покаже вам лог-код попереднього примірника.

Мертвий LogCat


Він з’являється при збої.
— Алуренко

Я мав на увазі на аварії. PID змінюється, але мертвий екземпляр не відображається у списку.
— Каран Моді

20

У разі аварії дивіться Runвкладку внизу IDE.

У цій частині ви можете побачити причину збоїв (навіть у чистому корпусі logcat).

Примітка. Якщо вищевказаний трюк не працює, спробуйте створити збій і негайно відключіть мобільний кабель (якщо ви використовуєте реальний пристрій для тесту). ви можете побачити помилку, перш ніж її очистити.

Оновлення: Якщо також вищевказаний трюк не працює, спробуйте підключити та відключити телефон, і, сподіваємось, проблема вирішена.

Update2: Якщо знову це не спрацює, спробуйте вимкнути лови та перезапустити, а потім почніть знову налагоджувати.

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


6

В Android Studio 2+

  1. Клацніть Run

  2. Клацніть Edit Configurations

  3. У Run/Debug Configurationsвікні виберіть Miscellaneousвкладку

  4. Переконайтесь, що Clear log before launchпрапорець не встановлений


4

я зіткнувся з тим же питанням, і це рішення: -

1- Інструменти -> Android -> Увімкнути інтеграцію ADB.

і тепер ви можете бачити logcat і збої як звичайні


Моя інтеграція ADB вже була надана досить сумно. Щось корисне Maby - це те, що після його очищення я отримую повідомлення: 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.