Galaxy S5 Lollipop - не все точки останова останавливают выполнение под отладчиком Android Studio

После обновления Samsung Galaxy S5 SM-G900F до Lollipop (Android 5.0) я заметил странное поведение:

не все точки останова перехватываются в Android Studio.

Вот описание окружения и мои наблюдения

  • Windows 8.1 x64
  • Android Studio 1.0.2 с инструментами SDK 24.0.2
  • Солнце jdk1.7.0_55
  • под эмулятором SDK ловятся все точки останова
  • под Genymotion ловятся все точки останова
  • под Galaxy S3 с 4.4.4 ловятся все брейкпоинты
  • под Galaxy S5 SM-G900F с 5.0 не ловятся все исключения

Я пытался перезагрузить телефон, перезагрузить компьютер разработчика, включить/выключить отладку в параметрах разработчика, использовать USB-драйверы от Samsung и Google, сделать недействительным кеш в Android Studio, выполнить полную очистку и перестроить и так далее.

Точки останова, которые работают, отмечены галочками внутри красных значков. Я не знаю правила, какие классы имеют рабочие точки останова, а какие нет.

То же самое происходит с этим устройством на трех разных девбоксах.

скриншоты из Android Studio

Помощь!


person tomash    schedule 14.01.2015    source источник
comment
Также не помог заводской вайп Galaxy S5.   -  person tomash    schedule 15.01.2015
comment
Билет заполняется здесь: code.google.com/p/android/issues/ подробно?id=97748   -  person tomash    schedule 15.01.2015
comment
Подтверждаю, у меня тоже такое бывает.   -  person darken    schedule 17.01.2015
comment
Сообщено в Samsung: developer.samsung.com/forum/thread/   -  person tomash    schedule 17.01.2015
comment
Как упоминалось в системе отслеживания ошибок Google, для меня это происходит только для неосновных точек останова потока. Насколько я тестировал, точки останова потока пользовательского интерфейса срабатывают.   -  person darken    schedule 17.01.2015
comment
Что-то изменилось с обновлением LRX21T.G900FXXU1B0A3, которое мой телефон установил вчера через OTA. Мой простой пример теперь работает, но это может быть побочным эффектом некоторых других изменений. Более сложный проект все еще имеет проблемы. Основные точки останова активности работали правильно, у одного фрагмента были проблемы (работали только точки останова, добавленные после запуска сеанса отладки), другой фрагмент, видимый на экране, по-прежнему вообще не останавливался на точках останова. Также не работала точка останова из зависимого проекта. У меня даже была ситуация, когда пойманная точка останова имела стек с фреймами из файлов, где другая точка останова не работала.   -  person tomash    schedule 03.02.2015
comment
Ага, у меня тоже случилось. Некоторые классы имели действительные точки останова, некоторые другие просто не останавливались. Пришлось вернуться к другому старому телефону, чтобы иметь возможность отлаживать.   -  person evaristokbza    schedule 12.02.2015
comment
конфигурация в вашем модуле библиотеки отладки gradle: minifyEnabled false debuggable true   -  person Make it Simple    schedule 04.03.2015
comment
@MakeitSimple, к сожалению, флаг debuggable true не имеет никакого значения - в моем примере проекта все еще только случайное подмножество классов имеет рабочие точки останова   -  person tomash    schedule 04.03.2015
comment
У нас такая же проблема с Samsung Galaxy S III Neo, а также с Galaxy S5.   -  person JerabekJakub    schedule 17.03.2015


Ответы (2)


Последнее обновление Samsung S5 на этой неделе решает проблему с Eclipse IDE. Французская версия Android G900FXXU1BOC7

person Pierre Jean    schedule 29.04.2015
comment
Я еще не принял этот ответ, так как регион XEO без торговой марки по-прежнему имеет доступ только к прошивке G900FXXU1OA3 (как сообщает Kies) - person tomash; 05.05.2015
comment
Спасибо за это. Была такая же проблема в Android Studio. Орехи! Обновлен до G900FXXU1BOD3 - person the_new_mr; 13.05.2015
comment
Ааааа и наконец-то XEO (Польша) получил обновление прошивки с работающим отладчиком. Прошло чуть больше 5 месяцев... - person tomash; 25.06.2015

Я обнаружил следующее: точки останова не работают с аллокациями в некоторых версиях Android. Распределение (второе изображение) не является исполняемым кодом, а код инициализации Fabric, поэтому он может сломаться в этот момент. Кажется, это своего рода проверка, является ли код исполняемым или нет.

person matthijs2704    schedule 15.03.2015
comment
К сожалению, это не этот вопрос. В моем примере проблемного проекта (доступен по адресу code.google.com/p/ android/issues/detail?id=97748) есть целые классы, в которых точки останова вообще не работают, независимо от того, происходит ли это выделение, присваивание, вызов метода или возвращаемое значение. - person tomash; 16.03.2015
comment
Хм, это действительно странно - person matthijs2704; 16.03.2015