Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Очень часто разработчики для отладки своих приложений используют вызовы к Console.WriteLine. Однако на мобильной платформе, такой как Android, консоль отсутствует. На устройствах Android доступен журнал, который можно использовать при создании приложений. Иногда его называют logcat из-за команды, которую нужно ввести для его получения. Для просмотра данных журнала используйте инструмент Журнал отладки.
Общие сведения о журнале отладки Android
Инструмент Журнал отладки позволяет просматривать выходные данные журнала при отладке приложения с помощью Visual Studio. Журнал отладки поддерживает следующие устройства:
- физические телефоны, планшеты и переносные устройства Android;
- виртуальные устройства с Android, работающие в Android Emulator.
Примечание.
Инструмент Журнал отладки не работает с Xamarin Live Player.
Журнал отладки не отображает сообщения журнала, созданные во время автономной работы приложения на устройстве (т. е. пока устройство не подключено к Visual Studio).
Получение доступа к журналу отладки из Visual Studio
Чтобы открыть инструмент Журнал устройств, щелкните значок Журнал устройств (logcat) на панели инструментов:
Кроме того, можно запустить инструмент Журнал устройств, последовательно открыв такие элементы меню:
- Просмотр > других журналов устройств Windows >
- Средства > журнала устройств Android >
На следующем снимке экрана показаны разные элементы окна Инструмент для отладки:
Селектор устройств — выбирает физическое устройство или выполняющийся эмулятор для мониторинга.
Записи журнала — таблица сообщений журнала из logcat.
Очистка записей журнала — очищает все текущие записи журнала из таблицы.
Воспроизведение и приостановка — переключение между обновлением или приостановкой отображения новых записей журнала.
Остановка — останавливает отображение новых записей журнала.
Поле поиска— введите строки поиска в этом поле, чтобы отфильтровать подмножество записей журнала.
Когда отображается окно инструмента Журнал отладки, используйте раскрывающееся меню устройства, чтобы выбрать устройство Android для мониторинга:
После выбора устройства средство журнала устройств автоматически добавляет записи журнала из работающего приложения. Эти записи журнала отображаются в таблице записей журнала. При переключении между устройствами ведение журнала устройств останавливается и запускается. Обратите внимание, что проект Android следует загрузить до того, как любые устройства будут отображаться в селекторе устройства. Если устройство не отображается в селекторе устройства, убедитесь, что оно доступно в раскрывающемся меню Visual Studio на устройстве рядом с кнопкой Пуск.
Доступ из командной строки
Кроме того, просмотреть журнал отладки можно с помощью командной строки. Откройте окно командной строки и перейдите в папку платформы sdk для Android (как правило, папка sdk platform-tools находится в папке C:\Program Files (x86)\Android\android-sdk\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
Также можно использовать запись в журнал отладки. Эти сообщения отображаются в logcat с немного другим форматом выходных данных (этот метод особенно полезен Console.WriteLine при отладке приложений 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, отправляются этим же процессом.





