Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 13:35   #1
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию Не могу локализовать зависание

Доброго времени суток, о умы кодинга! Прошу помочь мне в следующей проблеме:
есть программа для расчета жб конструкций. В ней реализован метод Хука-Дживса. В общем процедура поиска точек в 3 километра длиной (код). Считает через раз. В смысле раз считает нормально, а другой зависает. причем это хаотично происходит. Так вот вопрос: как узнать где программа виснет? Пошагово выполнять не вариант, так как очень много операций.
googl вне форума Ответить с цитированием
Старый 06.12.2011, 13:43   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
как узнать где программа виснет?
ану, где вы, экстрасенсы? :D



P.S. как вам без кода сказать что и где виснет?
Delphi_ProGer вне форума Ответить с цитированием
Старый 06.12.2011, 13:50   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> раз считает нормально, а другой зависает

вероятно, где-то неинициализованные переменные используются
внимательно изучите все warning-ы, которые Дельфи выдаёт

> как узнать где программа виснет?

можно через паузу, но не всегда это помогает.

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

> 3 километра длиной (код)

интересно, а если нужно будет что-то поменять, всё переписывать, как Софья Андреевна?
Сразу нельзя было по-человечески написать код? Вопрос риторический.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 06.12.2011, 14:22   #4
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

К сожалению, мне было удобно сделать метками все. код сюда не помещается. отследить все никак не получается. ошибок делфи не выдает. с точками пробовал. все проходит. просто фишка в том, что может и 10 раз пройти, а на 11 зависнуть. а может и с первого раза зависнуть. и вот отследить где именно это никак не могу.
googl вне форума Ответить с цитированием
Старый 06.12.2011, 14:26   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> код сюда не помещается

прикрепите в аттач, интересно глянуть на это чудо
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 06.12.2011, 14:30   #6
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

ноут сел. Пара закончится скину. примерно через часа два. Спасибо за отклики
googl вне форума Ответить с цитированием
Старый 06.12.2011, 15:36   #7
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

veniside, +1
3 километра с метками и суперциклами, хочу лицезреть )
Только прикрепите пожалуйста не код, а весь проект, а то может у вас там из 50 эдитов данные заносятся или из грида с жесткими номерами колонок в коде без названий
phomm вне форума Ответить с цитированием
Старый 06.12.2011, 15:43   #8
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

ну, на самом деле я не такой уж и извращенец)) скоро скину
googl вне форума Ответить с цитированием
Старый 06.12.2011, 16:07   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Только прикрепите пожалуйста не код, а весь проект, а то может у вас там из 50 эдитов данные заносятся или из грида с жесткими номерами колонок в коде без названий
и не забудьте про тестовые данные.
1.исходные данные на которых код не виснет.
2.исходные данные на которых виснет.
А если то виснет, то нет на одних и тех данных, тоже скажите об этом.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.12.2011, 20:09   #10
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию 123

Все исправил. Добавил проверку дополнительную конца расчета. Теперь вот проблема новая: на форме есть минимальные и максимальные значения параметров. если какой-то параметр в процессе расчета выходит за границы, то ему присваивается граничное значение. проверки стоят. но почему-то все равно проскакивает это условие. не пойму где(
Вложения
Тип файла: rar ЖБК.rar (424.3 Кб, 24 просмотров)
googl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависание окна MasterSporta Win Api 2 12.04.2011 22:51
Зависание компьютера RockForr Компьютерное железо 10 19.08.2010 11:46
зависание DeDoK Работа с сетью в Delphi 7 17.08.2010 09:56
Непонятное зависание. DIMANJ Операционные системы общие вопросы 20 18.11.2009 17:08
Зависание JRcoker Общие вопросы Delphi 8 06.08.2008 08:29