Очень часто разработчики для отладки своих приложений используют вызовы к Console.WriteLine . Однако на мобильной платформе, такой как Android, консоль отсутствует. На устройствах Android доступен журнал, который можно использовать при создании приложений. Иногда его называют logcat из-за команды, которую нужно ввести для его получения. Для просмотра данных журнала используйте инструмент Журнал отладки.
Общие сведения о журнале отладки Android
Инструмент Журнал отладки позволяет просматривать выходные данные журнала при отладке приложения с помощью Visual Studio. Журнал отладки поддерживает следующие устройства:
- физические телефоны, планшеты и переносные устройства Android;
- виртуальные устройства с Android, работающие в Android Emulator.
Инструмент Журнал отладки не работает с Xamarin Live Player.
Журнал отладки не отображает сообщения журнала, созданные во время автономной работы приложения на устройстве (т. е. пока устройство не подключено к Visual Studio).
Как собрать логи приложения с андройда в Android Studio. Реальный пример. Logs, logcat, mobile app
Получение доступа к журналу отладки из Visual Studio
- Visual Studio
- Visual Studio для Mac
Чтобы открыть инструмент Журнал устройств, щелкните значок Журнал устройств (logcat) на панели инструментов:
Кроме того, можно запустить инструмент Журнал устройств, последовательно открыв такие элементы меню:
- Просмотр > других журналов устройств Windows >
- Средства журнала > устройств Android >
На следующем снимке экрана показаны разные элементы окна Инструмент для отладки:
- Селектор устройств — выбирает физическое устройство или выполняющийся эмулятор для мониторинга.
- Записи журнала — таблица сообщений журнала из logcat.
- Очистка записей журнала — очищает все текущие записи журнала из таблицы.
- Воспроизведение и приостановка — переключение между обновлением или приостановкой отображения новых записей журнала.
- Stop — останавливает отображение новых записей журнала.
- Поле поиска — введите строки поиска в этом поле, чтобы отфильтровать подмножество записей журнала.
Когда отображается окно инструмента Журнал отладки, используйте раскрывающееся меню устройства, чтобы выбрать устройство Android для мониторинга:
После выбора устройства средство «Журнал устройств » автоматически добавляет записи журнала из работающего приложения. Эти записи журнала отображаются в таблице записей журнала. При переключении между устройствами ведение журнала устройств останавливается и запускается. Обратите внимание, что проект Android следует загрузить до того, как любые устройства будут отображаться в селекторе устройства. Если устройство не отображается в селекторе устройства, убедитесь, что оно доступно в раскрывающемся меню Visual Studio на устройстве рядом с кнопкой Пуск.
Что такое лог (log) программы
Чтобы открыть журнал устройств, щелкните «Просмотреть > журнал устройств»>:
На следующем снимке экрана показаны разные элементы окна Инструмент для отладки:
- Селектор устройств — выбирает физическое устройство или выполняющийся эмулятор для мониторинга.
- Записи журнала — таблица сообщений журнала из logcat.
- Очистка записей журнала — очищает все текущие записи журнала из таблицы.
- Поле поиска — введите строки поиска в этом поле, чтобы отфильтровать подмножество записей журнала.
- Показать сообщения — переключает отображение информационных сообщений.
- Отображение предупреждений — переключает отображение предупреждающих сообщений (предупреждения отображаются желтым цветом).
- Отображение ошибок — переключение отображения сообщений об ошибках (предупреждающие сообщения отображаются красным цветом).
- Повторное подключение — повторно подключитесь к устройству и обновляет отображение записи журнала.
- Добавление маркера — вставляет сообщение маркера (например — Marker N — , после последней записи журнала), где N является счетчиком, начинающимся с 1, и увеличивается на 1 по мере добавления новых маркеров.
Когда отображается окно инструмента «Журнал отладки», используйте раскрывающееся меню устройства, чтобы выбрать устройство Android для мониторинга:
После выбора устройства средство «Журнал устройств » автоматически добавляет записи журнала из работающего приложения. Эти записи журнала отображаются в таблице записей журнала. При переключении между устройствами ведение журнала устройств останавливается и запускается. Обратите внимание, что проект Android следует загрузить до того, как любые устройства будут отображаться в селекторе устройства. Если устройство не отображается в селекторе устройства, убедитесь, что оно доступно в раскрывающемся меню Visual Studio на устройстве рядом с кнопкой Пуск.
Доступ из командной строки
- Visual Studio
- Visual Studio для Mac
Кроме того, просмотреть журнал отладки можно с помощью командной строки. Откройте окно командной строки и перейдите в папку платформы sdk для Android (обычно папка sdk platform-tools находится в папке C:Program Files (x86)Androidandroid-sdkplatform-tools).
Если подключено только одно устройство (физическое устройство или эмулятор), для просмотра журнала можно просто ввести следующую команду:
$ adb logcat
Кроме того, просмотреть журнал отладки можно с помощью командной строки. Откройте окно терминала и перейдите в папку platform-tools пакета SDK для Android (как правило, эта папка хранится в расположении /Users/username/Library/Developer/Xamarin/android-sdk-macosx/platform-tools).
Если подключено только одно устройство (физическое устройство или эмулятор), для просмотра журнала можно просто ввести следующую команду:
$ ./adb logcat
Если подключено несколько устройств, необходимо явно указать нужное устройство. Например, при выполнении команды adb -d logcat отображается только журнал подключенного физического устройства, а при выполнении команды adb -e logcat — только журнал запущенного эмулятора.
Чтобы узнать дополнительные команды, введите adb и прочитайте сообщения справки.
Запись в журнал отладки
Записывать сообщения в журнал отладки можно с помощью методов класса Android.Util.Log. Пример:
string tag = «myapp»; Log.Info (tag, «this is an info message»); Log.Warn (tag, «this is a warning message»); Log.Error (tag, «this is an error message»);
Вы увидите приблизительно следующее:
I/myapp (11103): this is an info message W/myapp (11103): this is a warning message E/myapp (11103): this is an error message
Можно также использовать Console.WriteLine для записи в журнал отладки . Эти сообщения отображаются в logcat с немного другим форматом вывода (этот метод особенно полезен при отладке приложений Xamarin.Forms на Android):
System.Console.WriteLine («DEBUG — Button Clicked!»);
Это выведет в logcat примерно следующее:
Info (19543) / mono-stdout: DEBUG — Button Clicked!
Интересующие сообщения
При чтении журнала (особенно если фрагменты журнала предоставляются другим пользователям) изучаемое содержимое файла журнала в полном объеме часто является слишком громоздким. Чтобы упростить навигацию по сообщениям журнала, для начала найдите запись журнала, которая выглядит следующим образом:
I/ActivityManager(12944): Starting: Intent < act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=GcTest.GcTest/gctest.Activity1 >from pid 24175
В частности, найдите строку, которая соответствует регулярному выражению, также содержащему имя пакета приложения:
^I.*ActivityManager.*Starting: Intent
Это строка, которая соответствует началу действия, и большинство (но не все) следующих сообщений должны иметь отношение к приложению.
Обратите внимание, что каждое сообщение содержит идентификатор процесса (pid) для процесса, создающего сообщение. В указанном выше сообщении ActivityManager сообщение было создано процессом 12944 . Чтобы определить, какой процесс является процессом отлаживаемого приложения, найдите сообщение mono.MonoRuntimeProvider:
I/ActivityThread( 602): Pub TouchTest.TouchTest.__mono_init__: mono.MonoRuntimeProvider
Это сообщение отправляется запущенным процессом. Все последующие сообщения, содержащие этот pid, отправляются этим же процессом.
Источник: learn.microsoft.com
Как снимать логи с устройств на Android и iOS: разбираемся с инструментами
Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.
Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.
Уровни логирования и что они означают
Для начала разберёмся с логами. Это текстовые файлы, в которых записываются все действия пользователя. Например, какие кнопки он нажимает в приложении и как на это оно реагирует в ответ.
Записи в логах формируются в хронологическом порядке. Самая свежая — внизу.
Есть два вида логов:
- Crash logs — файл, в котором хранятся записи только об ошибках экстренного завершения программы — по-простому, когда приложение крашнулось.
- Logs — простые логи, или журнал событий. Это файл, в котором хранятся системные записи и ответы устройства на действие пользователя.
Логи на мобильных устройствах бывают нескольких уровней:
Они представлены по уровню важности — от самого высокого к самому низкому, — и каждый следующий уровень включает в себя предыдущий. Например, VERBOSE содержит в себе логи всех остальных.
Примечание: уровни более применимы к логам на Android, потому что именно там такое разделение встречается чаще.
Рассмотрим подробнее каждый уровень.
Error (ERROR)
На этом уровне информируются ошибки работы системы.
Записи этого уровня требуют быстрого вмешательства разработчика — на такие ошибки нужно реагировать максимально быстро.
Как пример, такая запись в логе:
“ SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length ”
Это ошибка, в которой говорится, что строковый элемент span не может быть пустым.
“ [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008] ] ”
Эта системная ошибка сообщает, что происходит утечка памяти при взаимодействии с каким-то элементом или приложением.
Warning (WARN)
На этом уровне отображаются записи, сообщающие о каком-то неожиданном поведении, требующем внимания, или о ситуации, которая незнакома системе.
Например, сообщение ниже — запись из тестового приложения:
“ [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -2147483648 “
Файл LOG – что это, можно удалить на Xiaomi (Redmi)
В любой операционной системе есть средства, которые записывают ваши действия: какое приложение было запущено, какие функции в нём были использованы, в какое время, каким пользователем и т.д.
Эти данные записываются постоянно в фоновом режиме, как на Xiaomi, так и на любых других смартфонах, не важно, на Android они работают или другой ОС.
Даже многие приложения ведут свои собственные LOG файлы.
LOG – это запись действий пользователя в приложении, которое ведёт этот файл.
Эти данные необходимы разработчикам программы, чтобы в тот момент, когда произойдёт ошибка в её работе, понять, что делал пользователь, какие функции были задействованы, сколько памяти было необходимо, чтобы произвести запрошенные действия.
Таким образом, программисты смогут разобраться и понять причину возникшей проблемы и исправить её в будущих версиях приложения.
Файлы 0 log, или 1 log – это разновидности записи действий, цифры перед ними не значат ничего, кроме того, что даёт дополнительное удобство разработчикам при разборе появившейся проблемы.
Файлы Log можно удалить, это не приведёт к ошибке в работе Xiaomi или MIUI, но вы должны понимать, что при каждом запуске программы, которая ведёт такой файл, он будет создан заново и снова начнёт заполняться данными.
При нормальной работы log-файлы не занимают много места, чаще всего им требуется несколько мегабайт, не больше.
Если же вы видите log, которые занимает несколько сот мегабайт, или, что хуже, несколько гигабайт – это значит, что в приложении возникало очень много ошибок, которые заносились в эту запись.
Если у вас есть возможность – пошлите этот файл разработчикам, уверен, им будет очень полезное его изучить. Если такой возможности нет, можно его удалить, чтобы освободить память.
Релевантная информация:
- Наушники Type-C для телефона Xiaomi: как выбрать лучшие наушники для вашего устройства?
- Ошибки при загрузке и попытке установки MIUI 12 на Xiaomi (Redmi)
- Всё о версиях USB на телефонах Xiaomi (Redmi): как узнать, как проверить и какая актуальная версия
- MIUI 12.5 не обновляется, ошибки при обновлении и что делать, если уведомление об обновлении пропало
- Файлы данных на Xiaomi (Redmi): что это и можно ли их удалить
Поделиться новостью в соцсетях
Об авторе: MiMaster
Привет, меня зовут Тимур. Я с детства увлекался компьютерами и IT-Индустрией, мне это нравится, это моя страсть. Последние несколько лет глубоко увлёкся компанией Xiaomi: идеологией, техникой и уникальным подходом к взрывному росту бизнеса. Владею многими гаджетами Xiaomi и делюсь опытом их использования, но главное — решением проблем и казусов, возникающих при неожиданных обстоятельствах, на страницах сайта mi-check.ru
Источник: mi-check.ru