Не работает точка останова android studio

Общая информация об отладке в Android Studio

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

Когда вы разрабатываете приложение, то студия собирает отладочную версию программы, соединяется с устройством/эмулятором, устанавливает и запускает её.

Обычно для запуска приложения вы используете значок с зелёным треугольником Run (Shift+F10) на панели инструментов. Для отладки следует нажимать соседнюю кнопку Debug (Shift+F9) с изображением жучка .

Остальные действия будут идентичными — вам надо выбрать устройство, на котором будет происходить отладка.

Android Studio откроет окно Debug. Можно открыть его вручную через кнопку 5: Debug в нижней части среды разработки. Окно показывает потоки и переменные в вкладке Debugger, статус устройства в вкладке Console и системные логи в вкладке Logcat.

Если приложение уже запущено, то необязательно его перезапускать для работы в отладочном режиме. Вы можете нажать на кнопку Attach debugger to Android proccess , которая идёт сразу после кнопку с жучком.

В вкладке Logcat вы видите системные сообщения, включая сообщения от вашей программы, если вы использовали их своём коде. Для записи логов используется класс Log. Подробнее о нём в отдельной статье.

Логи можно просматривать также через панель Android DDMS (Dalvik Debug Monitor Server) — запускается через кнопку 5: Android в нижней части студии. В Android DDMS вы можете просматривать логи только нужного процесса, если нажмёте на кнопку Only Show Logcat from Selected Process .

Точки останова (Breakpoints)

Точки останова позволяет приостановить выполнение программы на нужной строчке кода, проверить значение переменных, запустить выражение и продолжать выполнение кода строчка за строчкой. Позволяет выявить ошибки, которые не удаётся вычислить простым просмотром кода.

Откройте свой исходник, определите строку кода, в которой хотите поставить точку останова и щёлкните по ней. Строка окрасится в жёлтый цвет. Щёлкните в левой части редактора кода в серой области. В этом месте появится красный кружок (повторный щелчок уберёт его), а строка примет розовый цвет. Точку останова можно ставить не только для исполняемого оператора, но и на комментарии.

Запустите приложение в отладочном режиме. Когда выполнение программы дойдёт до установленной точки останова, то студия прекратит дальнейшее выполнение приложения, кружок станет ещё более красным и строка будет выделена. И затем вы можете попытаться выявить причину ошибки.

Для просмотра всех точек останова и их настроек щёлкните на кнопке View Breakpoints в левой части панели Debug . Появится отдельное диалоговое окно.

После того, как вы установили точки останова, щёлкните кнопку Rerun для повторного запуска программы. Когда выполнение кода дойдёт до установленной точки останова, студия выполнит паузу и подсветить строку кода. Панель Debug позволит проверить переменную и выполнить код шаг за шагом.

Для проверки переменных раскройте список в панели Variables. Если панель не видна, то щёлкните кнопку Restore Variables

Для вычисления выражения в текущей точки щёлкните кнопку Evaluate Expression

Для перехода на следующую строку кода без выполнения щёлкните кнопку Step Over .

Для перехода на первую строку кода внутри метода щёлкните кнопку Step Into .

Для перехода на следующую строку за пределами текущего метода щёлкните кнопку Step Out .

Читайте также:  Установка ide для android

Чтобы продолжить работу приложения в нормальном режиме, нажмите кнопку Resume Program .

Отслеживание потребления памяти

Студия позволяет также отслеживать потребления памяти объектами и показывает, какие классы и потоки используют объекты.

Запустите студия в отладочном режиме, щёлкните 6: Android, чтобы открыть панель Android DDMS. Выберите вкладку Devices | logcat, выберите ваше устройство из выпадающего списка, выберите вашу программу по имени пакета из списка запущенных программ.

Щёлкните кнопку Start Allocation Tracking . Начинайте пользоваться программой.

Повторно нажмите на предыдущую кнопку Stop Allocation Tracking. Студия покажет объекты, выделенные системой для работы.

Android Device Monitor

Для анализа потребления памяти, сетевого трафика, поведения приложения при входящих звонках можно использовать графический инструмент Android Device Monitor. Щёлкните кнопку Monitor на панели инструментов. Android Device Monitor откроется в новом окне. Опытные программисты увидят знакомое окно, когда работали с Eclipse.

Скриншоты и видео

Вы можете делать скриншоты и видео работающего приложения.

Запустите приложение и откройте панель 6: Android. Щёлкните кнопку Screen Capture в левой части панели.

По такому же принципу можно сделать видеозапись через кнопку

Источник

Точки останова не работают на Android Studio 3.3

После обновления Android Studio до версии 3.3 на этой неделе некоторые точки останова не распознаются как допустимые и не останавливают поток.

Я что-нибудь упустил?

4 ответа

Я успешно настроил Xdebug с Eclipse, и теперь я могу установить точки останова в файле index.php . Когда я устанавливаю точки останова, отличные от index.php , точки останова файлов не работают. Если файл находится в той же папке, он останавливается на первой строке, но точки останова не работают.

Когда я пытаюсь отладить приложение с помощью android studio, я устанавливаю некоторые точки останова в IDE, и после запуска отладчика у меня есть информация о каждой отдельной точке останова (в шаре): Warning : No executable code found at line . Похоже, что сообщение появляется, когда.

Нашел ответ с помощью @pskink. операторы «If»-это локали «invalid» для точек останова. Смотрите галочки ниже:

Проблема находится в цепочке инструментов сборки (gradle, d8/r8). Проблема исправлена в Android Studio 3.4 Beta 1 с gradle 3.4.0-beta01 .

Или обходное решение этой проблемы может быть использовано путем локального обновления конфигурации build.gradle верхнего уровня для вашего проекта:

Как только произойдет следующий выпуск плагинов Android Gradle, эти изменения могут быть удалены.

он работает для android 4.0.1. в верхней строке меню есть кнопка «attach отладчика до android process». щелкните по нему и выберите процесс. затем отладчик достигнет точки останова.

У меня та же проблема. Проблема решается путем обновления Android Studio с 3.6.2 до 4.0.0

Похожие вопросы:

На новой установке Visual Studio 2015 я создал приложение Android и собственную библиотеку Android. На функции из собственной библиотеки ссылаются в коде приложения через директивы DllImport. Когда.

Я пытаюсь отладить Asynctask в моем приложении Android, используя Android Studio. Мои точки останова работают в onCreate и onStartCommand, но ни одна из них не работает в doInBackground. Я знаю, что.

После обновления Samsung Galaxy S5 SM-G900F до Lollipop (Android 5.0) Я заметил странное поведение: не все точки останова ловятся в пределах Android Studio. Вот описание окружающей среды и мои.

Я успешно настроил Xdebug с Eclipse, и теперь я могу установить точки останова в файле index.php . Когда я устанавливаю точки останова, отличные от index.php , точки останова файлов не работают.

Когда я пытаюсь отладить приложение с помощью android studio, я устанавливаю некоторые точки останова в IDE, и после запуска отладчика у меня есть информация о каждой отдельной точке останова (в.

Читайте также:  Лицензии третьих сторон андроид что это

Я отлаживаю свой проект Android в Android Studio с помощью точек останова. Я заметил, что иногда мои точки останова имеют крестик и не приостанавливают выполнение. На сайте intellij это объясняется.

Я пытаюсь отладить свой сервис, но не могу, так как точки останова не работают. Да, я использовал android.os.Debug.waitForDebugger(), не имеет значения, где я его использую (перед строкой, в.

Я пытаюсь отладить какой-то код, но отладчик Android Studio сегодня ведет себя странно. Он принимает точки останова как случайные. Там, где нет исполняемого кода, предварительный просмотр иногда.

Точки останова не работают в проекте PCL, в то время как я отлаживаю проект Android на эмуляторе и на реальном устройстве. Проект включает в себя Mvvmcross. PCL содержит проект ViewModels. Android.

Заметив, что некоторые точки останова не попадают, я нашел этот пост, который отвечает на вопрос, почему: Точки останова не работают на Android Studio 3.3 Я не помню, чтобы это происходило до.

Источник

Точки останова не попадают в Android Studio

Я использую Windows 7 и недавно перешел с Eclipse на Android Studio. У меня сейчас проблемы с отладкой.

Запустив Android Studio 0.8.6, я полностью установил установку по умолчанию, я создаю пустой проект по умолчанию, нацеленный на ICS SDK, с помощью мастера нового проекта. Затем я помещаю точку останова в onCreate, нажимаю кнопку отладки и запускаю.

Отладчик прикреплен, поскольку я вижу сообщение «Подключено к целевой виртуальной машине» в окне отладчика.

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

Я пробовал ставить точки останова во многих местах, но ни один из них не удался.

Я выдергиваю свои волосы здесь, потому что просто не вижу, что делаю не так. Я новичок в gradle, поэтому я думаю, что в Gradle могут быть некоторые настройки, которые я должен изменить, но, конечно же, абсолютно стандартный проект, созданный с помощью мастера, должен позволять мне попадать в точки останова?

Я заметил одну вещь: в моем файле build.gradle нет упоминания об отладочной сборке, только выпуск. Интересно, может ли это быть проблемой?

Примечание. Я пробовал это как на своем устройстве, так и на эмуляторе

Я изменил настройки в параметрах View Breakpoints, чтобы включить «Java Exception Breakpoints», но только для неперехваченных исключений. Затем в конце onCreate я намеренно вызываю исключение NullPointerException. Когда я сейчас запускаю отладку, я все еще не использую свой реальный код и не вижу разрыва кода в моем исходном коде, но программа действительно приостанавливается. Я знаю, что это вызвано моим исключением NullPointerException, потому что, когда я его удаляю, я вижу, что код продолжается и не ломается.

Когда мой код прерывается, окно отладки показывает, что я нахожусь в «основном» потоке, в функции, называемой «performLaunchActivity». Больше информации я не вижу. Предположительно, поэтому я отлаживаю любой уровень кода, вызывающий performLaunchActivity, но мой источник обрабатывается так, как будто я не могу пройти через него?

Источник

Отладчик Android Studio не останавливается на точках останова в модулях библиотеки

На данный момент я разрабатываю приложение для Android, основанное на стороннем коде. Я начал устанавливать точки останова для понимания кода и вскоре столкнулся с проблемой. Внезапно я не смог заставить Android Studio останавливаться на точках останова.

Я попытался установить точки останова в методах onCreate , в кнопках OnClickListener — ничего не сработало. Теперь я обнаружил, что он работает только внутри модуля приложения. Поскольку у проекта есть только один класс активности в модуле приложения, а все остальное предоставляется в модулях библиотеки, я вообще не могу отлаживать.

Читайте также:  Лаунчер рабочий стол для андроид

Я предполагаю, что что-то не так в AndroidManifest.xml или, что более вероятно, в файле build.gradle. Поскольку я только что переключился с Eclipse на Android Studio, все эти вещи Gradle для меня довольно новы.

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

Есть ли среди записей в build.gradle «обычные подозреваемые», которые могут вызвать мою проблему?

Я уже очистил свой проект и безуспешно аннулировал кеш. Я даже попробовал предложить добавить записей внутри библиотечного модуля для фрагментов внутри.

Изменить : я использую самую последнюю версию Android Studio (версия 1.1.0 от 18 февраля), в которой должна быть исправлена ​​аналогичная ошибка, существовавшая некоторое время назад.

Источник

Точки останова не попадают в Android Studio

Я использую Windows 7 и недавно переключился с Eclipse на Android Studio. У меня теперь есть проблемы с отладкой.

Запустив Android Studio 0.8.6, я установил полностью установленную по умолчанию установку, я создаю пустой проект по умолчанию, ориентированный на ICS SDK, используя новый мастер проекта. Затем я устанавливаю точку останова в onCreate, нажимаю кнопку отладки и запускаю.

Отладчик подключен, так как я вижу сообщение «Подключено к целевой виртуальной машине» в окне отладчика.

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

Я попытался поставить точки останова во многих местах, но никто не попал.

Я вытягиваю свои волосы здесь, так как я просто не вижу, что я делаю неправильно. Я новичок в градиенте, поэтому думаю, что в градле могут быть некоторые настройки, которые я должен изменить, но, безусловно, абсолютно стандартный проект, созданный с помощью мастера, должен позволить мне попасть в точки останова?

Одна вещь, которую я заметил, это то, что в моем файле build.gradle нет упоминания об отладке, только в выпуске. Я задавался вопросом, может ли это быть проблемой?

Заметка. Я пробовал это как на своем устройстве, так и на эмуляторе

Я изменил настройки в параметрах View Breakpoints, чтобы включить «Контрольные точки исключения Java», но только для исключенных исключений. Затем, в конце onCreate, я намеренно вызывают исключение NullPointerException. Когда я запускаю отладку сейчас, я до сих пор не ударил мой фактический код и не вижу разрыва кода в моем источнике, но программа делает паузу. Я знаю, что это мое NullPointerException вызывает это, потому что когда я его удаляю, я вижу, что код продолжается и не прерывается.

В тот момент, когда мой код разбивает окно отладки, я вижу, что я в «основном» потоке, в функции «performLaunchActivity». Я не вижу больше информации, чем эта. Предположительно, поэтому я отлаживаю любой уровень кода, вызывающий функцию performLaunchActivity, но что мой источник обрабатывается так, как будто я не могу пройти через него?

Убедитесь, что ваш JDK является последним, и ваша система содержит только один JDK.

Попробуйте удалить строку minifyEnabled true в файле \app\build.gradle в buildTypes — debug . Или используйте этот экран и установите для параметра Minify Enabled значение false

Часть градиента полностью прекрасна. Я получил тот же код, и он отладчик отлично работает. Как вы устанавливаете точки останова? Вам просто нужно щелкнуть по крайней левой части окна кода, и появится красный шар.

Источник

Оцените статью