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

Вниз

Методы борьбы с ошибками   Найти похожие ветки 

 
Николай   (2004-10-28 16:21) [0]

Привет!
Хочу обратиться к Вам за помощью - может посоветуете решение... Буду также благодарен за ссылки на ресурсы, где, возможно, данная проблема обсуждалась.
Постановка задачи: Ставим первый вариант прототипа разработанной программы заказчику для опытной эксплуатации. Естественно, глюков еще может появляться очень много. Заказчики - люди неквалифицированные, в программировании неискушенные. Я встречался с определенными механизмами, носам их не реализовывал и как они могут делать - не представляю. Например - у заказчика заглючила программа, ошибка критическая, вылазит окошко с предложением (к примеру) отослать данные об ошибке разработчику. Заазчик соглашается и данные об ошибке записываются в файл или пересылаются на емейл. Разработчик, получив их, сразу понимает в чем дело и устраняет проблему в следующей версии.
Как так можно делать? Может существуют специальные программы, компоненты или сервисы? Примеры работы таких вещей я видел, а вот чтобы реализовать или найти как :-( Буду благодарен за любую помощь.

С уважением, Николай


 
Digitman ©   (2004-10-28 16:28) [1]


> записываются в файл или пересылаются на емейл


т.е. именно ЭТО явл-ся для тебя проблемой ? или что ?


 
cae ©   (2004-10-28 16:39) [2]

EurekaLog поможет


 
Pentium133 ©   (2004-10-28 17:04) [3]

На этом сайте есть статья на этут тему. Посмотрите.


 
Ega23 ©   (2004-10-28 17:12) [4]

procedure AAA
begin
try

except on E:Exception do
 raise ("procedure AAA Error -> "+E.Message); //(Точно синтаксис не помню, а Делфи лень открывать)
end;

Application.OnException (Или у TAppEvents событие OnException)
Отписываем ошибку в лог.

Как ошибка - заказчик отсылает файл с ошибками. Всё.


 
Erik1 ©   (2004-10-28 17:25) [5]

Я сделал подобную ситему, причем писмо отсылается автоматически. Использовал JCL и Indy, необходимо наличие SMTP сервера и акаунта для отсылки сообщений. Перехватываются все ошибки даже заключеные в Try except. Поэтому существует ресурс где описано какие ошибки игнорировать. Описываются 3 парапетра тип исключения, имя процедуры, модуль. Также описана структура какие ошибки надо переводить, они появляются у пользователя на экране в переведеном виде и неотсылаются по email.
Пример собщения об ошибке:
---------------------------
Computer:             HANNO
Windows User:         vvalm
OS:                   Windows XP Professional
Free Physical Memory: 88072Kb
Free Virtual Memory:  1819901Kb
Free Page Memory:     337240Kb
Module:               starvara.exe
Version:              1.2.8.147
Form Count:           3
Active Form:          Sihtgrupp[CRUD-]

EDBEngineError: Master record missing.
ORA-02291: integrity constraint (STARVARA.SGKL_KL_FK) violated - parent key not found
ORA-06512: at "STARVARA.STP_SG", line 81
General SQL error.
ORA-06512: at "STARVARA.SPC_SIHTGRUPP", line 14
ORA-06512: at line 1
Exception occured at $004AD3A6 (Module "DBTables", Procedure "DbiError", Unit "", Line 0)
 Except frame-dump:
   Frame at $105EFF20 (type: efkFinally)
     Code at $004B941A
     Module "DBTables", Procedure "TStoredProc.ExecProc", Unit "", Line 0
   Frame at $105EFF3C (type: efkFinally)
     Code at $00676AD0
     Module "DBThread", Procedure "TProcRunThread.Exec", Unit "DBThread.pas", Line 205
   Frame at $105EFF58 (type: efkFinally)
     Code at $0067686B
     Module "DBThread", Procedure "TDBThread.Execute", Unit "DBThread.pas", Line 139
   Frame at $105EFF64 (type: efkOnException, handles exception)
     Handler at $006768C4
     Module "DBThread", Procedure "TDBThread.Execute", Unit "DBThread.pas", Line 148


 
Erik1 ©   (2004-10-28 17:32) [6]

Или вот такая ошибка:
EAccessViolation: Access violation at address 005C9999 in module "Starvara.exe". Read of address 00001D50
Exception occured at $005C9999 (Module "QuickRpt", Procedure "TCustomQuickRep.Preview", Unit "Quickrpt.pas", Line 4587)
 Except frame-dump:
   Frame at $0012FC8C (type: efkFinally)
     Code at $0043EA64
     Module "Controls", Procedure "TWinControl.MainWndProc", Unit "", Line 0
   Frame at $0012FC98 (type: efkAnyException, handles exception)
     Handler at $0043EA85
     Module "Controls", Procedure "TWinControl.MainWndProc", Unit "", Line 0
Конечно ее невозможно исправить и бывало по 70 ошибок в день приходило, но это отовсех пользователей.



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

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

Наверх





Память: 0.47 MB
Время: 0.04 c
14-1098720165
Александр1
2004-10-25 20:02
2004.11.14
Настройка сети


1-1099228145
buSel
2004-10-31 16:09
2004.11.14
Взаимодействие между формами


14-1098709470
astalavista
2004-10-25 17:04
2004.11.14
Как засунуть изображения в ячейки StringGrid ?


11-1082719819
BolikDimon
2004-04-23 15:30
2004.11.14
Использование KOL в БД-приложениях


1-1099078938
Matrex
2004-10-29 23:42
2004.11.14
Экзотика - компонент VirtualTreeview





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский