Помните adb, чтобы найти запись об ошибке сбоя приложения Android

Помните adb, чтобы найти запись об ошибке сбоя приложения Android

Прежде всего, позвольте мне сказать о выводе, потому что такого рода проблемы будут возникать при нехватке памяти.На
мобильном телефоне Xiaomi есть такая настройка
вставьте сюда описание изображения
, которая может во многом имитировать эту аномалию.Затем
мы установим размер лог логкэта.Если
у вас много операций то лучше всего Ну настройте его.Если вашу операцию можно воспроизвести за короткое время то настраивать не надо.256к хватит.Тогда подключите мобильник
вставьте сюда описание изображения
к компьютер
и откройте инструмент командной строки, чтобы очистить журнал logcat.

adb logcat -c

Затем проверьте журнал

#需要打印时间和级别是Error的信息
adb logcat -v time *:E

Это просто чтобы распечатать лог по cmd.Скоро может не успеть,тогда качай лог.Прошлый лог не почистил?Выполним команду еще раз

adb logcat -v time >C:/Users/EDY/Desktop/work/logcat.txt

В это время лог logcat будет передаваться в локальный, но обратите внимание, после окончания операции можно закрыть окно adb, иначе он всегда будет писать лог в локальный файл в windows, и его не будет написано после закрытия.Затем
выполните поиск Ключевое слово «FATAL»
вставьте сюда описание изображения
может найти сообщение об ошибке.Что касается реальной причины ошибки, вы должны позволить разработчикам увидеть ее.

Если вы столкнулись с ANR
, вы должны посмотреть журнал трассировки.Взяв
в качестве примера мобильные телефоны Xiaomi,
вы можете столкнуться с двумя проблемами.Во
-первых, все говорят, что adb pull /data/anr/traces.txt
но когда вы берете его сами,
вставьте сюда описание изображения
выдает ошибку из-за разных мобильных телефонов.Имя файла производителя может быть разным
вставьте сюда описание изображения
,но мы не знаем какой файл нам нужен,поэтому сначала пытаемся вытащить один,и нашли вторую проблему,недостаточно прав,тогда можно использовать это

adb bugreport

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

вставьте сюда описание изображения

Как определить, какой файл нам нужен Мы можем посмотреть на время журнала, чтобы увидеть, какой из них находится рядом с временем вашей операции Открыв его, посмотрите, не является ли это ошибкой, о которой сообщил ваш пакет Как определить,
где
вставьте сюда описание изображения
ошибка сообщение:
Следующее содержимое принадлежит мне Прежде всего
, мы можем определить местоположение журнала ANR в соответствии с именем пакета приложения и временем возникновения ANR, обычно в верхней части содержимого трассировки.
вставьте сюда описание изображения

Тогда ANR должно быть исключением основного потока, мы можем найти часть «основного» потока и проверить статус, связанный с основным потоком.
вставьте сюда описание изображения

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

Во-вторых, мы можем продолжать находить следующую информацию о стеке вызовов потоков.
вставьте сюда описание изображения

Мы более знакомы с этой областью. Так же, как и при просмотре обычных исключений, мы можем четко знать, что ANR произошло в строке 28 MainActivity. Причина в Thread.sleep(). На данный момент мы возвращаемся к нашему собственному уровню кода выше, и результат очень очевиден.

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

Состояние потока
Для приведенного выше состояния потока по сравнению с состоянием потока java Linux уточняет множество состояний, что упрощает анализ текущего состояния.

Потоки в java не эквивалентны потокам в ядре операционной системы. Между ними существует отношение сопоставления.Для Android существует отношение один к одному между потоками в java и потоками в ядре.
вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/qq13933506749/article/details/130284313
Recomendado
Clasificación