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.