![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
polakwilno |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 14.8.2006 Репутация: нет Всего: нет |
Добрый день,
Хотел спросить, как можно поумнее проследить за выполнением программы? У меня есть не маленькое клиент-сервер приложение, и иногда оно подвисает. Почему незнаю. Пробовал запускать в дэбаг модэ (под eclipse), но никаких ошибок не получал. Может быть есть какието специальные инструменты для отладки мульти-потоковых ява приложений? Какие есть способы, чтоб на консоль явы вывелась хоть какаято ошибка? Мне теперь совсем не за что зацепится... За ранее спасибо |
|||
|
||||
shimopus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 25.8.2006 Репутация: 1 Всего: 1 |
Если это приложение написано Вами или есть исходные коды, то можно вставить логирование. Во многих случаях с умом расставленные точки вывода логов помогают локализовать проблему.
Во-вторых, советую попробовать выяснить что послужило или в какой момент произошло подвисание, в момент какого действия. Чаще всего в мультипоточных приложениях подвисание происходит из-за неверной работы с синхронизацией, неправильным ее использованием и работы вообще без нее. Именно в таких "узких" местах вставка точек логирования очень поможет. |
|||
|
||||
olegrolik |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Из собственного опыта:
Было работающее приложение. Из-за настроек JVM и кривости моих рук были разные проблемы. Искал я их с помощью логирования и изучения кода приложения. Вывод: чтобы искать баги, надо знать код. Конечно проблемы могут быть покруче, например, если неправильно реализован какой-нибудь паттерн (особенно если ты его не заешь). Меня пронесло ![]() |
|||
|
||||
polakwilno |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 14.8.2006 Репутация: нет Всего: нет |
shimopus, olegrolik спасибо, буду пробовать через логи значит
Да, код мой. Только странно както, я взял специально написал кривое приложение, где 100 потоков несинхронно обращаются к textarea.setText(), приложение естественно подвисает, но никаких ошибок я не получаю :( Когда была похожая проблема со SWING элементами, то на консоль выводилась ошибка, а тут глухо. Может у меня чегото с настройками, или это нормально, так и должно быть...? |
|||
|
||||
lostinwired |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.7.2007 Репутация: нет Всего: 1 |
Профайлер ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |