Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
#1

Виснет приложение - Программирование Android

21.09.2015, 13:04. Просмотров 601. Ответов 26
Метки нет (Все метки)

Здравствуйте. Почему-то иногда вместо того, чтобы выплюнуть ошибку приложение просто зависает, обычно из-за NPE, после исправления виснут перестает, но в таких случаях сложно найти причину ошибки т.к. в лог ничего не выводится и приходится перед каждой строкой писать что-то в лог и смотреть на чем зависло. Из-за чего такое может быть и как можно исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2015, 13:04     Виснет приложение
Посмотрите здесь:

Виснет Eclipse при тестировании приложения с подключенной библиотекой google_play_services - Программирование Android
Всем привет! Для размещения рекламы в приложении от Admob подключаю к нему библиотеку google_play_services. Если перед этим с тестированием...

Виснет приложение - Delphi
Доброго времени суток. Возникла следующая проблема. Загружает с интернета довольно много информации. Во время самой загрузки приложение...

Виснет поток, а с ним и приложение - C#
Здравствуйте! Жизнь заставила использовать в своем приложении стороннюю библиотеку. Парсит текст по определенному алгоритму. Но при...

При нажатии кнопки виснет приложение - Delphi
procedure TForm1.Button2Click(Sender: TObject); var N,d:integer; {объявляем переменные N,i и d типа integer} begin {начало программы} ...

Как определить почему виснет приложение - C#
В отдельном потоке выполняю программу с постоянно обновляемыми данными. В какой то момент программа виснет наглухо. Пробовал везде...

Клиентское приложение виснет при закрытии серверного - Delphi
использую Сокетконекшен выдается сообщение ON API connection error

.NET 4.x C# и MySQl: приложение виснет при подключении к удаленной БД - C#
Здравствуйте. Написал простенькое приложение для работы с БД MySql. На localhost все нормально, а вот при попытке подключиться к БД с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3122 / 1924 / 209
Регистрация: 13.01.2012
Сообщений: 7,376
21.09.2015, 14:00     Виснет приложение #2
"иногда программы не работают. из-за чего такое может быть?..." (С)
я скажу чистую правду если предположу что программы не работают из-за того что в них ошибка...

Добавлено через 40 секунд
...не издевательства ради, а лишь с целю сказать "больше подробностей иначе помощь невозможна"
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
21.09.2015, 14:09  [ТС]     Виснет приложение #3
vxg, это не тот случай, когда можно привести конкретный кусок кода и конкретную ошибку. Т.к. как я уже написал приложение ошибку не выплевывает, а виснет вместо этого. В логе пишет от имени дальвика, что процесс закрыт с неизвестной ошибкой и приложение зависает (выглядит так же как бесконечный цикл в ui потоке). Подобное бывает в совершенно разных местах (даже если сама ошибка в сторонней библиотеке). Не знаю какие еще подробности могут быть.

Добавлено через 5 минут
т.е. зависает в тех местах, где по идее должна быть ошибка, приложение должно закрыться, и в логе должен появиться трейс ошибки. Например
Java
1
2
Item myItem = null;
Something something = myItem.getSomething();//На этой строке должен быть NPE, но вместо этого просто зависает и все.
vxg
Модератор
3122 / 1924 / 209
Регистрация: 13.01.2012
Сообщений: 7,376
21.09.2015, 14:20     Виснет приложение #4
покажите что вываливается в логкат после убийства приложения-зомби
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
21.09.2015, 14:24  [ТС]     Виснет приложение #5
Цитата Сообщение от vxg Посмотреть сообщение
покажите что вываливается в логкат после убийства приложения-зомби
Java
1
threadid=1: thread exiting with uncaught exception (group=0x418ee9a8)
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
21.09.2015, 14:32     Виснет приложение #6
Spelcrawler, попробуйте включить DDMS, посмотреть что происходит с потоками/памятью.
Может подключить какую-нибудь crash библиотеку типа acra?
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
21.09.2015, 14:41  [ТС]     Виснет приложение #7
Цитата Сообщение от YuraAAA Посмотреть сообщение
попробуйте включить DDMS, посмотреть что происходит с потоками/памятью.
Вообще ничего не меняется, как было до ошибки - так и после нее.
Цитата Сообщение от YuraAAA Посмотреть сообщение
Может подключить какую-нибудь crash библиотеку типа acra?
Меня в принципе стандартный функционал устраивает, может как-то можно его наладить? В крайнем случае буду пробовать библиотеки.
Pablito
2421 / 1866 / 583
Регистрация: 12.05.2014
Сообщений: 6,606
Завершенные тесты: 1
21.09.2015, 14:45     Виснет приложение #8
это на эмуляторе/реальном девайсе?
сис.админ во мне говорит что такого рода ошибки почти всегда либо из-за вирусни или проблемы с железом

в данном случае вирус - врятли, значит остается проблема с железом или загаженная софтом система
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
21.09.2015, 14:48  [ТС]     Виснет приложение #9
Цитата Сообщение от Паблито Посмотреть сообщение
сис.админ во мне говорит что такого рода ошибки почти всегда либо из-за вирусни или проблемы с железом
Это врятли. То же самое происходит на разных компьютерах (даже с разными осями) и с разными реальными девайсами и эмуляторами.

Добавлено через 1 минуту
Хотя не уверен, что именно в этом проекте на разных машинах виснет в одном и том же месте, на другом такое замечал раньше, там перепробовал все варианты разных компов и телефонов.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
21.09.2015, 15:04     Виснет приложение #10
Spelcrawler, хм, вроде у меня было что-то похожее, но как-то само собой исправилось
А если в активит повесить глобальный хэндлер ошибок?
Java
1
2
3
4
5
6
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread paramThread, Throwable paramThrowable) {
                //TODO breakpoint here
            }
        });
поставить туда дебаг, посмотреть на поведение. Будет ли сразу вызываться он, либо будут фризы
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
21.09.2015, 16:39  [ТС]     Виснет приложение #11
Цитата Сообщение от YuraAAA Посмотреть сообщение
поставить туда дебаг, посмотреть на поведение. Будет ли сразу вызываться он, либо будут фризы
Да, там останавливается и текст ошибки видно.
vxg
Модератор
3122 / 1924 / 209
Регистрация: 13.01.2012
Сообщений: 7,376
22.09.2015, 09:01     Виснет приложение #12
скажите хоть что это за неуловимая ошибка - расширьте наш кругозор
Pablito
22.09.2015, 09:02
  #13

Не по теме:

вангую что-то связанное с сокетами, просто интересно себя проверить

Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.09.2015, 11:38  [ТС]     Виснет приложение #14
Цитата Сообщение от vxg Посмотреть сообщение
скажите хоть что это за неуловимая ошибка - расширьте наш кругозор
Говорю же разные бывают, сейчас специально несуществующее поле из бд запрашивал. Но проблему так и не решил, код от YuraAAA, ошибку ловит, но там нет трейса - только текст.

Добавлено через 29 минут
Java
1
2
3
4
5
6
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread paramThread, Throwable paramThrowable) {
                paramThrowable.printStackTrace();
            }
        });
Вот так показывает ошибку нормально, но приложение все равно после этого зависает. Уже лучше конечно, но может есть нормальное решение проблемы?

Добавлено через 1 час 49 минут
В общем я так понял ошибка не связана ни с железом, ни с установленным софтом т.к. собранный подписанный апк ведет себя точно так же. Не выдает никаких ошибок, а просто висит.
vxg
Модератор
3122 / 1924 / 209
Регистрация: 13.01.2012
Сообщений: 7,376
22.09.2015, 12:32     Виснет приложение #15
требуем код, проект или апк для вивисекции
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.09.2015, 13:31  [ТС]     Виснет приложение #16
Цитата Сообщение от vxg Посмотреть сообщение
требуем код, проект или апк для вивисекции
Ну определенный кусок кода тут не поможет ничем, а весь проект или апк к сожалению не могу предоставить.

Добавлено через 10 минут
Попробовал просто в любом месте вызвать
Java
1
throw new RuntimeException("exception");
И вот на этой строке виснет т.е. я так понимаю ошибка ловится нормально, трейс есть, но именно unhandled exception не срабатывает.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
22.09.2015, 13:31     Виснет приложение #17
Цитата Сообщение от Spelcrawler Посмотреть сообщение
throw new RuntimeException("exception");
в этом случае зависает тоже? Без стектрейса?
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.09.2015, 13:33  [ТС]     Виснет приложение #18
Цитата Сообщение от YuraAAA Посмотреть сообщение
в этом случае зависает тоже? Без стектрейса?
Ага.
vxg
Модератор
3122 / 1924 / 209
Регистрация: 13.01.2012
Сообщений: 7,376
22.09.2015, 13:37     Виснет приложение #19
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Ага.
я такого не пробовал но первое желание сказать "да ну, не может быть"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2015, 13:42     Виснет приложение
Еще ссылки по теме:

Perl socket приложение виснет после подключения n раз - Perl
Да как бы все бонально. #!/usr/bin/perl $| = 1; use IO::Socket::INET; $host = 'blabla'; $port = 'blabla'; $socket =...

GTK-приложение с отдельным потоком виснет под MS Windows - Python
Добрый день! Разрабатываю приложение на python с использованием GTK. В приложении запускается отдельный поток в котором рассылаются...

При запуске метода с параметром делегатом в отдельном потоке виснет все приложение - C#
public partial class MainWindow : Window { public delegate void ServerStart(Server.Send t); public...

Виснет программа при компиляции, степовер не работает, так же виснет - C++ Builder
Виснет программа при компиляции, степовер не работает, так же виснет. Программа - простейший калькулятор. ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.09.2015, 13:42  [ТС]     Виснет приложение #20
Цитата Сообщение от vxg Посмотреть сообщение
я такого не пробовал но первое желание сказать "да ну, не может быть"
У меня такое же желание было, пока раз 15 не перепроверил в различных вариациях)
Yandex
Объявления
22.09.2015, 13:42     Виснет приложение
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru