Просмотр полной версии : Как определить из-за чего зависает программа?
need_million
12.06.2010, 11:44
Вот почему то зависает программа после 10 минут работы.
есть один поток он идет в цикле while но каждый раз я его жду через Join
может быть есть какие то инструменты для определения?
POS_troi
12.06.2010, 12:02
Ну допустим утечка памяти
Трейси выполнение программы.
CraftR14
12.06.2010, 12:24
Если вайл, и ты не умееш с ним рабоатть то все просто) выходит такое выржение образно while 1=1 do sleep(1000) т.е. где то идет не завершимый цикл ~~
M_script_
12.06.2010, 12:32
Зачем гадать, лучше исходник покажи
c# я так понял, можно нажать "Отладка" и посмотреть на какой строке вылетело и почему.
M_script_
12.06.2010, 12:34
c# я так понял, можно нажать "Отладка" и посмотреть на какой строке вылетело и почему.
У него программа не вылетает, она виснет.
GhostOnline
12.06.2010, 13:30
Бесконечный цикл, как пить дать
Программа ждет наступления события которое никогда не произойдет
Лечится бОльшим количеством проверок входных данных, и проверками в циклах на определенное условие при котором цикл должен прерваться (Break)
Еще возможный вариант в мульти-тредных аппликациях: поток занял неделимый ресурс, его не освобождает, другие потоки ждут освобождения ресурса
дай угадаю, используешь WebRequest класс?
попробуй переписать под HttpWebRequest
need_million
12.06.2010, 14:28
использую HttpWebRequest.
код полный кину чуть поже. а структура примерно такая:
onlcikc -> тут запускается поток, в нем while -> тут много кода разных функций, после кода проверка на выход.
p/s но без кода и правда врядли подскажете=(
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot