![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Методы борьбы с ошибками [D7, WinXP]
Николай © (2004-10-28 16:21:00)Привет!
Хочу обратиться к Вам за помощью - может посоветуете решение... Буду также благодарен за ссылки на ресурсы, где, возможно, данная проблема обсуждалась.
Постановка задачи: Ставим первый вариант прототипа разработанной программы заказчику для опытной эксплуатации. Естественно, глюков еще может появляться очень много. Заказчики - люди неквалифицированные, в программировании неискушенные. Я встречался с определенными механизмами, носам их не реализовывал и как они могут делать - не представляю. Например - у заказчика заглючила программа, ошибка критическая, вылазит окошко с предложением (к примеру) отослать данные об ошибке разработчику. Заазчик соглашается и данные об ошибке записываются в файл или пересылаются на емейл. Разработчик, получив их, сразу понимает в чем дело и устраняет проблему в следующей версии.
Как так можно делать? Может существуют специальные программы, компоненты или сервисы? Примеры работы таких вещей я видел, а вот чтобы реализовать или найти как :-( Буду благодарен за любую помощь.
С уважением, Николай
Erik1 (2004-10-28 17:32:00) [1]Или вот такая ошибка:
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 ошибок в день приходило, но это отовсех пользователей.
Erik1 (2004-10-28 17:25:00) [2]Я сделал подобную ситему, причем писмо отсылается автоматически. Использовал 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
Ega23 (2004-10-28 17:12:00) [3]procedure AAA
begin
try
except on E:Exception do
raise ('procedure AAA Error -> '+E.Message); //(Точно синтаксис не помню, а Делфи лень открывать)
end;
Application.OnException (Или у TAppEvents событие OnException)
Отписываем ошибку в лог.
Как ошибка - заказчик отсылает файл с ошибками. Всё.
Pentium133 (2004-10-28 17:04:00) [4]На этом сайте есть статья на этут тему. Посмотрите.
cae (2004-10-28 16:39:00) [5]EurekaLog поможет
Digitman (2004-10-28 16:28:00) [6]
> записываются в файл или пересылаются на емейл
т.е. именно ЭТОявл-ся для тебя проблемой ? или что ?