Отладка приложения в Eclipse
Отладка приложения в Eclipse
Доброго времени суток . Собственно проблема такая. Не могу до конца разобраться с пошаговой отладкой приложения.
Раньше работал в других IDE все получалось минуты за две. А тут возникло много вопрос и непонятных вещей.
Допустим я хочу остановить выполнение программы на определенном участке кода . Ставлю брейкпоинт. Запуска дебагер . Приложение пишет что-то про ожидание в режиме отладки . Затем открывается новое превью с различными окнами для дебага .А вот тут начинается самое интересное.
Приложение крешилось , соответственно была необходимость пошагово пройтись по коду и посмотреть в чем причина. Поставил брейкпоинт на строчке кода с объявлением поля класса. Программа остановилась там , все как положено . Затем пытаюсь пройтись по коду . Нажимаю именно Ф6 , чтобы не входить в метод , дак нет оно влазить в стандартные библиотеки по ним идет не возвращаясь к коду основному и в конце крешится . Дело в том что крешилась программа как раз таки не на объявление переменной класса и инициализации ее, а ниже по коду, хотя дебагер просто лез стандартные библиотеки и потом просто креш . Еще к тому же в Логах ошибки не было просто крешилась программа .
Затем убрал брейкпоинт на другой строчке ниже . Дошло до нее остановилось . И дальше пошло вроде нормально , но потом уже крешнулась там где была ошибка . В логах отобразило Null Pointer Exception , но возможности из логов перейти на участок кода где произошел креш нету (может я просто не нашел ).
Читал кучу мануалов, в том числе и на английском .
Но так и не понял как правильно проводить отладку.
Подскажите пожалуйста , как это сделать правильно или может это что-то не так делаю.
Спасибо заранее .
Раньше работал в других IDE все получалось минуты за две. А тут возникло много вопрос и непонятных вещей.
Допустим я хочу остановить выполнение программы на определенном участке кода . Ставлю брейкпоинт. Запуска дебагер . Приложение пишет что-то про ожидание в режиме отладки . Затем открывается новое превью с различными окнами для дебага .А вот тут начинается самое интересное.
Приложение крешилось , соответственно была необходимость пошагово пройтись по коду и посмотреть в чем причина. Поставил брейкпоинт на строчке кода с объявлением поля класса. Программа остановилась там , все как положено . Затем пытаюсь пройтись по коду . Нажимаю именно Ф6 , чтобы не входить в метод , дак нет оно влазить в стандартные библиотеки по ним идет не возвращаясь к коду основному и в конце крешится . Дело в том что крешилась программа как раз таки не на объявление переменной класса и инициализации ее, а ниже по коду, хотя дебагер просто лез стандартные библиотеки и потом просто креш . Еще к тому же в Логах ошибки не было просто крешилась программа .
Затем убрал брейкпоинт на другой строчке ниже . Дошло до нее остановилось . И дальше пошло вроде нормально , но потом уже крешнулась там где была ошибка . В логах отобразило Null Pointer Exception , но возможности из логов перейти на участок кода где произошел креш нету (может я просто не нашел ).
Читал кучу мануалов, в том числе и на английском .
Но так и не понял как правильно проводить отладку.
Подскажите пожалуйста , как это сделать правильно или может это что-то не так делаю.
Спасибо заранее .
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Отладка приложения в Eclipse
Может эти вебинары, которые я недавно провел помогут с дебагингом.
viewtopic.php?f=60&t=3198
Вначале как раз про логкат.
Как показывает практика, КУДА БЫСТРЕЕ не юзать дебаггинг. Вы наверное с Delphi перешли.
viewtopic.php?f=60&t=3198
Вначале как раз про логкат.
Как показывает практика, КУДА БЫСТРЕЕ не юзать дебаггинг. Вы наверное с Delphi перешли.
Re: Отладка приложения в Eclipse
Не с делфи , а с джавы , си. Но дело в том что отладка программы при написании приложений являлась очень важной. Так как найти ошибку иногда очень сложно , нужно смотреть все вызовы , значение переменных . А как при разработке прилений на андроид это делать. Просто не представляю как можно создать приложение более менее приличное без отладки .m090050 писал(а):Может эти вебинары, которые я недавно провел помогут с дебагингом.
viewtopic.php?f=60&t=3198
Вначале как раз про логкат.
Как показывает практика, КУДА БЫСТРЕЕ не юзать дебаггинг. Вы наверное с Delphi перешли.
Re: Отладка приложения в Eclipse
Странно если честно, попробуйте http://www.jetbrains.com/idea/
С breakpoint, проблем я не встречал, остальное выдает DDMS(не зря это dalvik debug monitor), ну и как бы тесты решают много проблем.
P.S. вообще в описанной вами ситуации нужно вести запись в лог и писать тесты, тут запуск пошагово дебагера не даст ровным счетом ничего. Крешется - добавтье обработку исключений, сделайте запись в лог, присвойте значение по умолчанию, зачем искать ошибку дебагером, если можно получить причину. В общем случае вы отлаживаете не свое приложение а весь Android Framework потому предсказать его поведение трудно.
Суть в том, что dalvik обрабатывает ваши объекты, а вот создает их не только ваш код но и Android Framework классы которого вы используете, потому куда вас занесет debug -ер не совсем очевидно.
С breakpoint, проблем я не встречал, остальное выдает DDMS(не зря это dalvik debug monitor), ну и как бы тесты решают много проблем.
После названия exception в скобочках указан метод вызвавший его и строка кода, ctrl+left click должен помочь.В логах отобразило Null Pointer Exception , но возможности из логов перейти на участок кода где произошел креш нету (может я просто не нашел )
P.S. вообще в описанной вами ситуации нужно вести запись в лог и писать тесты, тут запуск пошагово дебагера не даст ровным счетом ничего. Крешется - добавтье обработку исключений, сделайте запись в лог, присвойте значение по умолчанию, зачем искать ошибку дебагером, если можно получить причину. В общем случае вы отлаживаете не свое приложение а весь Android Framework потому предсказать его поведение трудно.
Суть в том, что dalvik обрабатывает ваши объекты, а вот создает их не только ваш код но и Android Framework классы которого вы используете, потому куда вас занесет debug -ер не совсем очевидно.

- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Отладка приложения в Eclipse
Да можно создать. Логи читать можете, трейс ошибки посмотреть можете. Контейнер приложений как в JavaEE запускать не приходится. Да даже в JavaEE если запустить контейнер приложения, то всё равно получите трейс ошибки, по которому можно понять что это или как загуглить.Но дело в том что отладка программы при написании приложений являлась очень важной. Так как найти ошибку иногда очень сложно , нужно смотреть все вызовы , значение переменных . А как при разработке прилений на андроид это делать. Просто не представляю как можно создать приложение более менее приличное без отладки .
Но я также не встречал проблем с запуском дебаггинга.
Re: Отладка приложения в Eclipse
А как LogCat связан с DDMS? И есть ли у DDMS собственный лог?altwin писал(а): С breakpoint, проблем я не встречал, остальное выдает DDMS(не зря это dalvik debug monitor), ну и как бы тесты решают много проблем.
Под тестами вы имеете в виду то, что пишется при помощи android.test?
Arbeit macht Fry
Re: Отладка приложения в Eclipse
LogCat, это часть DDMS, т.е. именно собственный лог ддмс. не совсем понял, что имееся виду, под android.test, я имел ввиду именно тесты:http://developer.android.com/tools/test ... droid.html, http://habrahabr.ru/post/113584/Fry писал(а):А как LogCat связан с DDMS? И есть ли у DDMS собственный лог?altwin писал(а): С breakpoint, проблем я не встречал, остальное выдает DDMS(не зря это dalvik debug monitor), ну и как бы тесты решают много проблем.
Под тестами вы имеете в виду то, что пишется при помощи android.test?

Re: Отладка приложения в Eclipse
Спасибо, за ответ.
Я имел в виду фреймоврк android.test, как раз о котором в этом посте хабра рассказывается )
Я имел в виду фреймоврк android.test, как раз о котором в этом посте хабра рассказывается )
Arbeit macht Fry
