Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Debuger [D6]


Valt ©   (2002-10-24 11:30:00) 

Уважаемые Мастера!
Имеется программа, которая вроде бы отлично работает, не глючит, все вроде бы с ней в порядке. Но наша компания дает на нее гарантию на пол-года. Я хотел спросить, существуют ли какие-нибудь мощные дебагеры, которые могут указать на опасность переполнения стека например или какие-либо другие проблемы, которые могут возникнуть не сразу, а через некоторое время?


Zemal   (2002-10-24 12:28:00) [1]

Множество глюков порождает ленивый программист... просто ему лень объявлять каждый раз переменные класса (к примеру) и он объявляет переменную класса TIniFile глобально, а потом забывает, что уже создал такую переменную в предыдущем блоке и создаёт второй объект... в результате в памяти две переменных, работающих с одним файлом, только ссылка на первый экземпляр потеряна... вот так и начинается котовасия... таких программеров полно (ленивых)... от этого и глюки :). Вот скромный пример безолаберности... ищите в исходниках подобные фишки, наверняка найдёте кучу такого, раз прога существенно глючит :). В первую очередь просмотрите цикл жизни переменных классов, потом массивы, ну а уж там и все базовые переменные на диапозоны значений и на облать видимости. По своему опыту говорю, что именно в этом основная масса глюков и багов! :) Удачи!


Zemal   (2002-10-24 12:18:00) [2]

Совет: пересмотрите код и в сомнительных местах выводите в лог контрольные точки, значения переменных, используйте почаще блоки try...exception/finaly при обращении ко всем ресурсам. И главное незабывайте очищать память от мусора и ненужных объектов, используйте меньше глобальных переменных (по возможности ограничте их видимость)... небуду учить как это делается, но наведите порядок в исходном коде и тогда ошибок и глюков станет значительно меньше. Удачи.


Zemal   (2002-10-24 12:10:00) [3]

>>lensky
Я внимательно прочитал :). Помоему в вопросе нехватает конкретики. Как глючит? У меня тоже глючат некоторые проги, если их запускать скажем под Win 95. :) Если хотите написать неглюченую прогу, то пишите её непосредственно для одной-двух ОС... ну типа под Win NT/2000. Возможны глюки при вызове API-функций, т.к. мелкософт постоянно их переименовывает и перекраивает... при вызове некоторых API-функций могут быть некоторые глюки в разных ОС свои... и даже без генерации исключений... просто глюки и всё :(. С таким я нераз сталкивался. Могут быть глюки без генерации исключений при выходе некоторых диапозонов значений за рамки (например индексов массива).


Игорь Шевченко   (2002-10-24 12:09:00) [4]

Существует. Называется "программа тестирования". Комплекс административно-технических мер с привлечением людских ресурсов.

BTW: Я бы в жизни не взял программу, на которую дается временнАя гарантия.


lensky   (2002-10-24 11:56:00) [5]

которая вроде бы отлично работает, не глючит, все вроде бы с ней в порядке.
Zemal, vnimatel"nee...


Zemal   (2002-10-24 11:54:00) [6]

Как глючит? Эксцепшены выскакивают или повисает? Что именно происходит с ней? Вопрос настолько расплывчатый, что ответить можно только так: полазий в настройках компилятора, отключи проверку переполнения стэка... хотя я бы этого неделал :).


Valt   (2002-10-24 11:45:00) [7]

Ау!


Наверх

Титульная страница Поиск, карта сайта Написать письмо