Почему отладчик Android иногда не показывает переменные? - PullRequest
0 голосов
/ 30 апреля 2018

Я смущен отладчиком. Кажется, что приложение приостанавливается и показывает окно отладки для некоторых точек останова, а не для других точек останова. Он по-прежнему ставит точки останова, хотя и не останавливает приложение. И когда я открываю окно «Отладка», я не вижу фрейма, поэтому не могу смотреть на переменные. Я просмотрел много документов, и они не решили мою проблему. Итак, что я хотел бы знать:

  • как связаны кадр и нить
  • работает ли точка останова по-разному в другом месте или в другом классе в приложении?

1 Ответ

0 голосов
/ 30 апреля 2018

Как представляется, руководство , предоставленное Google, не отвечает на ваш вопрос, я добавлю дополнительное объяснение, надеюсь, оно поможет:

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

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

2 - Да, для отладчика до попадания точка останова должна быть удовлетворена нескольким критериям . Это длинный список, но вот более важные:

  1. Приложение должно быть в первую очередь отлаживаемым , если приложение определено как не отлаживаемый (например, сборки выпуска), тогда отладчик не будет работать.
  2. Код должен быть читаемым , следовательно, исполняемым для отладчика, это означает, что коды, которые запутаны или подделаны, не приведут к остановке отладчика в точках останова.
  3. Код должен быть исполняемым , это означает, что коды, которые не являются исполняемыми, такие как объявление переменных или коды, которые недоступны, не приведут к остановке отладчика.

P.S .: Конечно, это лишь несколько основных причин, и есть много других, таких как мгновенный запуск, которые могут сделать фрагмент кода неотлаживаемым .

...