535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
1

Виснет приложение

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Почему-то иногда вместо того, чтобы выплюнуть ошибку приложение просто зависает, обычно из-за NPE, после исправления виснут перестает, но в таких случаях сложно найти причину ошибки т.к. в лог ничего не выводится и приходится перед каждой строкой писать что-то в лог и смотреть на чем зависло. Из-за чего такое может быть и как можно исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2015, 13:04
Ответы с готовыми решениями:

Допиленное узкоспециализированное приложение или неповоротливое многофункциональное приложение?
Если вопрос про "что нужно знать?" висит, то и этот должен зайти. Появилась дилемма при выборе идеи...

Узнать приложение которое запустило моё приложение
Приветствую всех! Помогите разобраться. Есть ли возможность узнать, что за приложение запустило...

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

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

26
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
21.09.2015, 14:00 2
"иногда программы не работают. из-за чего такое может быть?..." (С)
я скажу чистую правду если предположу что программы не работают из-за того что в них ошибка...

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

Добавлено через 5 минут
т.е. зависает в тех местах, где по идее должна быть ошибка, приложение должно закрыться, и в логе должен появиться трейс ошибки. Например
Java
1
2
Item myItem = null;
Something something = myItem.getSomething();//На этой строке должен быть NPE, но вместо этого просто зависает и все.
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
21.09.2015, 14:20 4
покажите что вываливается в логкат после убийства приложения-зомби
1
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
21.09.2015, 14:24  [ТС] 5
Цитата Сообщение от vxg Посмотреть сообщение
покажите что вываливается в логкат после убийства приложения-зомби
Java
1
threadid=1: thread exiting with uncaught exception (group=0x418ee9a8)
0
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
21.09.2015, 14:32 6
Spelcrawler, попробуйте включить DDMS, посмотреть что происходит с потоками/памятью.
Может подключить какую-нибудь crash библиотеку типа acra?
1
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
21.09.2015, 14:41  [ТС] 7
Цитата Сообщение от YuraAAA Посмотреть сообщение
попробуйте включить DDMS, посмотреть что происходит с потоками/памятью.
Вообще ничего не меняется, как было до ошибки - так и после нее.
Цитата Сообщение от YuraAAA Посмотреть сообщение
Может подключить какую-нибудь crash библиотеку типа acra?
Меня в принципе стандартный функционал устраивает, может как-то можно его наладить? В крайнем случае буду пробовать библиотеки.
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
21.09.2015, 14:45 8
это на эмуляторе/реальном девайсе?
сис.админ во мне говорит что такого рода ошибки почти всегда либо из-за вирусни или проблемы с железом

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

Добавлено через 1 минуту
Хотя не уверен, что именно в этом проекте на разных машинах виснет в одном и том же месте, на другом такое замечал раньше, там перепробовал все варианты разных компов и телефонов.
0
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 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
            }
        });
поставить туда дебаг, посмотреть на поведение. Будет ли сразу вызываться он, либо будут фризы
1
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
21.09.2015, 16:39  [ТС] 11
Цитата Сообщение от YuraAAA Посмотреть сообщение
поставить туда дебаг, посмотреть на поведение. Будет ли сразу вызываться он, либо будут фризы
Да, там останавливается и текст ошибки видно.
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
22.09.2015, 09:01 12
скажите хоть что это за неуловимая ошибка - расширьте наш кругозор
0
Pablito
22.09.2015, 09:02
  #13

Не по теме:

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

0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
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 минут
В общем я так понял ошибка не связана ни с железом, ни с установленным софтом т.к. собранный подписанный апк ведет себя точно так же. Не выдает никаких ошибок, а просто висит.
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
22.09.2015, 12:32 15
требуем код, проект или апк для вивисекции
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
22.09.2015, 13:31  [ТС] 16
Цитата Сообщение от vxg Посмотреть сообщение
требуем код, проект или апк для вивисекции
Ну определенный кусок кода тут не поможет ничем, а весь проект или апк к сожалению не могу предоставить.

Добавлено через 10 минут
Попробовал просто в любом месте вызвать
Java
1
throw new RuntimeException("exception");
И вот на этой строке виснет т.е. я так понимаю ошибка ловится нормально, трейс есть, но именно unhandled exception не срабатывает.
0
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
22.09.2015, 13:31 17
Цитата Сообщение от Spelcrawler Посмотреть сообщение
throw new RuntimeException("exception");
в этом случае зависает тоже? Без стектрейса?
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
22.09.2015, 13:33  [ТС] 18
Цитата Сообщение от YuraAAA Посмотреть сообщение
в этом случае зависает тоже? Без стектрейса?
Ага.
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
22.09.2015, 13:37 19
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Ага.
я такого не пробовал но первое желание сказать "да ну, не может быть"
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
22.09.2015, 13:42  [ТС] 20
Цитата Сообщение от vxg Посмотреть сообщение
я такого не пробовал но первое желание сказать "да ну, не может быть"
У меня такое же желание было, пока раз 15 не перепроверил в различных вариациях)
0
22.09.2015, 13:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2015, 13:42
Помогаю со студенческими работами здесь

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

Приложение виснет при открытии Excel
Добрый день. УНФ. Добавили на форму документа кнопку. при переводе документа из "открыт" в...

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru