и все-таки лог-файл

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tof
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 09.08.2004 (Пн) 8:52
Откуда: Екатеринбург

и все-таки лог-файл

Сообщение Tof » 18.02.2005 (Пт) 10:25

на самом деле задачу свою я решить так и не смогла..
проблема в том что... надо при работе проги, если возникает ошибка (причем мы не знаем где и че..) в определенный лог файл записывать номер ошибки. и строку кода, в которой она возникла... воще возможно ли такое.. в инете инфо о том, что ... можно написать свою процедуру записи в лог файл, а так же как пользоваться logevent... но им я так понимаю надо пользоваться когда знаешь где может что возникнуть... , а надо чтоб оно все само :-/

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.02.2005 (Пт) 10:28

Думаю, что в каждой процедуре придется записывать On Error GoTo ... , и в этом "..." записывать что-то типа
Код: Выделить всё
Open App.Path & "\Error.log" For Append As #1
Print #1, Now, "имя процедуры", Err.Description
Close #1
Предполагаю, что другого способа нет :roll:

Tof
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 09.08.2004 (Пн) 8:52
Откуда: Екатеринбург

Сообщение Tof » 18.02.2005 (Пт) 10:38

а как № строки в которой ошибка произошла вытащить?? и воще возможно ли это в скомпилином файле :shock:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.02.2005 (Пт) 11:17

В скомпиленном? Без исходников? Можно, наверное, но это уже не ко мне :oops:

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.02.2005 (Пт) 11:36

Tof писал(а):а как № строки в которой ошибка произошла вытащить?? и воще возможно ли это в скомпилином файле :shock:


А какие строки могут быть в скомпиленном-то файле?
Их там нет поопределению.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Сообщение snov » 18.02.2005 (Пт) 11:42

Tof писал(а):а как № строки в которой ошибка произошла вытащить?? и воще возможно ли это в скомпилином файле :shock:
Зачем тебе такое извращение?
Если проект состоит более чем из 1 модуля (формы, класса), то наверно будет логичней в логе фиксировать имя модуля, процедуру и код ошибки, ну и передаваемые параметры.
Ставь On error goto errC в наиболее сомнительных функциях, а в обработчике resume next + сохранение лога с датами ну и всеми сопутствующими делами.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 18.02.2005 (Пт) 12:08

номер строки ошибки erl

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 18.02.2005 (Пт) 12:36

Можно бы ещё в обработчик ошибок передавать значения всех переменных в процедуре на момент ошибки. И их тоже писать в лог. Тогда более будет понятно на чём споткнулись.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Tof
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 09.08.2004 (Пн) 8:52
Откуда: Екатеринбург

Сообщение Tof » 18.02.2005 (Пт) 12:49

да но переменных то может быть оч. много

Tof
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 09.08.2004 (Пн) 8:52
Откуда: Екатеринбург

Сообщение Tof » 18.02.2005 (Пт) 12:51

Konst_One писал(а):номер строки ошибки erl


а erl у меня 0 все время выдает :roll:

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 18.02.2005 (Пт) 13:31

Попробуй:

Код: Выделить всё
Private Sub Form_Load()
On Error GoTo ErrH
10: Error 1
Exit Sub
ErrH:
MsgBox Erl
End Sub


Тока так....
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 18.02.2005 (Пт) 13:44

берём VB Watch 2 в его соста входит VB Watch Protector. напускаем его на VB проект. Этот монстр перелопатип весь код и сам создаст копию проекта в которой для всех процедур и функций установлена обработка ошибок. Среди настрок есть автоматическое ведение лог-файла.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 175

    TopList