don_Alehandro |
Отправлено: 22.07.2005, 14:59 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
Уважаемые Гуру. Обнаружилась трабла при работе наваянного в BCB 5 софта. Может для знающих и не проблема, только для меня как чайника — откровение. При постоянной работе проги (иначе нет смысла ее юзать), через некоторое время (2-3 часа) происходит самостоятельная и не зависящая от пользователя перезагрузка системы (работаю на W2000). Как попытался предположить мой коллега причина может крыться в проблемме внутренних прерываний работы процессора (критическое накопление счетчика ошибок или чего то подобного). В чем может крыться причина сего неординарного поведения такого надежного элемента компа как проц? А может и не в этом вовсе дело... Да и прога слишком проста что бы завалить проц ошибками до степени чтоб тот решил "стряхнуть" с себя систему и перегрузиться.
Кто с этим сталкивался? Поделитесь лекарством против болезни и я вам буду очень благодарен. |
|
olegenty |
Отправлено: 22.07.2005, 15:28 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Для начала Code Guard'ом пройдись.
|
|
Admin |
Отправлено: 22.07.2005, 15:56 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Ищите ошибку скорее аппаратную чем программную.
(По программной — посмотрите Диспетчер задач — кол-во
памяти, загруженность процессора и чем, кол-во дескрипторов
и потоков на Вашу задачу).
Да и не забудьте на вирусы все проверить.
А скорее всего беда в блоке питания или материнке, обычно
они этим страдают (особенно на 815 чипсете), там какие-то
левые конденсаторы от времени ...
Отредактировано Admin — 22/07/2005, 15:56
|
|
don_Alehandro |
Отправлено: 25.07.2005, 10:38 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
2Admin
аппаратная ошибка исключена путем прекращения выполнения программы, после чего спонтанные перезагрузки не повторяются. На вирусы идет постоянный котроль со стороны Symantec AntiVirus, также работает фаервол, бездействие процессора 98%, как определить количество дескрипторов и потоков на задачу к сожалению не знаю, научите чайника, если не жалко... Беда с блоком питания тоже исключена, меняли, вот только мать не меняли, но не думаю, что с ней проблема. Тип матери Asus P4S533-MX, чип SiS651, проблем не должно быть... работает всего 1,5 года, кондеры по идее должны еще дышать нормально.
Тем не менее спасибо за Ваши рекомендации.
2olegenty
уважаемый olegenty, мысль очень понравилась, к сожалению Code Guard не понятно куда пишет свой лог, и пишет ли вообще. После его активации получено сообщение о найденных ошибках, но куда он их записал так и не нашел. Если Вам не трудно, подскажите где найти лог... На всем пространстве жесткого диска Винда не находит файлы с расширением CGL ...
ПОМОГИТЕ УБОГОМУ РАЗОБРАТЬСЯ, ЖАЛЬ ПРОГУ ВЫБРАСЫВАТЬ!!!
|
|
esh |
Отправлено: 25.07.2005, 10:51 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
QUOTE | кондеры по идее должны еще дышать нормально. |
А визуально осмотреть не судьба? И для полной картины производителя и серию назвать. Типичные признаки пухнущих кондеров. |
|
don_Alehandro |
Отправлено: 25.07.2005, 12:02 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
2 esh
это конечно, визуально тщательно осмотрел железо самым первым делом, даже на всякий случай откинул от матери проводок кнопки "reset" на случай если она подкорачивает... (есть некоторый опыт работы сервисным инженером)
Кондеры без визуальных признаков потери емкости, обычно в таких случаях пропадает питание на процессор или оно не стабильно... о чем сразу стало бы известно через утилитку слежения за питанием элементов материнки. также слежу за датчиками температуры материнки, отклонений нет. Очевидно, что проблема в моем приложении.
Отредактировано don_Alehandro — 25/07/2005, 12:12 |
|
Vlad |
Отправлено: 25.07.2005, 12:29 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
Может просто в приложении, вы не убиваете обьекты, тем самым не очищается память. Лучше посмотрите где что остается. Скорее всего, у вас куча окон в приложении, вообщем лучше лишний раз посмотреть, исходники, и спросить юзверя на каком окне прога ребутит комп. Плюс все выше сказанное другими. |
|
don_Alehandro |
Отправлено: 25.07.2005, 12:44 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
2 Vlad
Очень возможно, но как в этом убедится? Ведь прога просто висит неактивным окном и постоянно отслеживает время для выдачи звукового и визуального сигнала. Если Вам будет интересно, можете взглянуть на исходник, присоеденен.
|
|
don_Alehandro |
Отправлено: 25.07.2005, 12:45 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
сорри, атач забыл...
|
|
Vlad |
Отправлено: 25.07.2005, 13:09 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
Стукнись мне в аську.... |
|
don_Alehandro |
Отправлено: 25.07.2005, 13:48 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
QUOTE (Vlad @ 25/07/2005, 13:09) | Стукнись мне в аську....
|
don_Alehandro: стучу (321-452-400), но без ответно... |
|
Rius |
Отправлено: 25.07.2005, 17:19 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
Офигеть, более ужасного оформления кода еще не видел!!
Еле собрал, вроде работает и не виснет, а как должна выглядеть нормальная работа вообще?...
99.9(9)% ошибка не в процессоре и не в железе вообще, но понаблюдаю.
//----------------
итого: три часа бесперебойной "работы".
Отредактировано Rius — 25/07/2005, 23:37
|
|
Георгий |
Отправлено: 25.07.2005, 21:32 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
2 Rius : бывало и хуже — тут хотя бы комментарии есть
2 don_Alehandro : вот это мне не понятно
CODE | PlaySound("c:\ding.wav",0,SND_ASYNC|SND_LOOP);//запускаем звуковое оповещение | тут должно было бы быть слэш не экранирован.
может и ещё где-нибудь есть такие мелкие ляпы...
покрайней мере грохнуть систему программа на 3м кольце защиты не может. так что ищите системные вызовы (а ля PlaySound) и методом исключения найдите вызывающий проблему.
PS. пробовали на современном железе с современной ОС и свежими драйверами?
PPS. всё таки константы ужасно оформлены, а разбиение на функции, глобальные массивы, пустые строчки для улучшения читебельности... Хорошо, что комментарии непротиворечивые и исчерпывающие — даже код можно не читать
Отредактировано Георгий — 25/07/2005, 22:41 |
|
don_Alehandro |
Отправлено: 26.07.2005, 16:32 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 16
|
Ребята, всем благодарен за комментарии кода. Простите самоучку любителя за кошмарную читабельность, просто не расчитывал выносить свой скромный труд на суд общественности!!!
Проблема вроде как решена. Вместа фрагмента:
//РЕАЛИЗАЦИЯ Ф. УПРАВЛЕНИЯ ФОРМОЙ ВВОДА ВРЕМЕНИ СРАБАТЫВАНИЯ СЧЕТЧИКА
void GetFormSetTimeUp()
{Application->CreateForm(__classid(TSetTimeUp1), &SetTimeUp1);
SetTimeUp1->Visible=true;}//форма 2 становится видимой
введен такой:
void GetFormSetTimeUp()
{
//Application->CreateForm(__classid(TSetTimeUp1), &SetTimeUp1);///????
TSetTimeUp1 * fr; //
fr = new TSetTimeUp1(Application); // создадим
// SetTimeUp1->Visible=true; //
fr->ShowModal(); // покажем в модальном режиме
delete fr; // зачистим память
}//форма 2 становится видимой
таким образом выяснилось, что сбой провоцировался переполнением памяти созданных окон второй вызываемой формы после ее закрытия — насколько я понял уважаемого Vlad, внесшего в код свои коррективы. За это ему мой респект и много благодарностей. Всем желающим получить весь проект пишите на мыл, мне не жалко.
Также всем участникам огромное спасибо за желание помочь.
PS 2 Георгий
Насчет PlaySound — интересно, спасибо, попробую...
Глобальные массивы организованы с целью их "видимости" на 2-й форме. Комментарии всегда исчерпывающие что бы вспомнить что наваял когда то...
|
|