Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

Debuger   Найти похожие ветки 

 
Valt   (2002-10-24 11:30) [0]

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


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

Ау!


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

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


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

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


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

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

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


 
Zemal   (2002-10-24 12:10) [5]

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


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

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


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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
4-11552
SPeller
2002-09-19 04:23
2002.11.04
Как добавить свой пункт к стандартному меню Edit а ??


1-11277
Valeris
2002-10-23 10:31
2002.11.04
Имя TComponent в качестве переменной?


3-11123
Dr. Well
2002-10-16 16:30
2002.11.04
Сумма в QReport


1-11264
Gaber
2002-10-21 13:39
2002.11.04
Запуск приложения


3-11111
Andrew_
2002-10-16 12:14
2002.11.04
Help! Срочно. Как поправить файл Paradox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский