Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

А можно весь код проги в try - except запихнуть?   Найти похожие ветки 

 
Lin7   (2004-07-22 18:53) [0]

Ситуация:
Сделал програмку (несколько форм + пара dll + глобальный хук на грызуна). На моём компе ошибки не выскакивают и прога прекрасно работает. На других вылазят редко, но метко - прога иногда даже падает. Выловить ошибки не могу, т.к. у меня они не появляются. Утечки ресурсов MemProof не находит.

Решение:
Сделать debug"овую версию, в которой будет вестись лог-файл работы проги и попробовать выловить баг так.

Вопросы:
1. Можно ли организовать try - except таким образом, чтобы ВСЕ возникающие исключения сначала обрабатывались этим блоком? - т.е. на except навесить запись в лог-файл.
2. Если кто-то сталкивался (ну наверняка сталкивались!!!) с такой проблемой - поделитесь опытом, как лучше поступить.
Есть ли какие-то особенности в организации/ведении такого лог-файла?

Пасибочки всем.  :)


 
Суслик ©   (2004-07-22 18:55) [1]

Все, в том числе и обработанные? Тогда не знаю.

А почити все можно обработать через ивент onexceptoin
у applications


 
Mim1 ©   (2004-07-22 20:31) [2]

Я с таким сталкиваюсь постоянно. Если программа не работает я выполняю ее полностью пошагово.


 
jack128 ©   (2004-07-22 20:35) [3]


> Если программа не работает я выполняю ее полностью пошагово.
это как? "полностью" пройти программу VCL весьма проблематично..
<off>
перерегистрируйся
</off>


 
Думкин ©   (2004-07-22 20:38) [4]

> А можно весь код проги в try - except запихнуть?

Можно.
Только Дельфи обидится.

Насчет лога - мысль здравая, если иные способы обнаружения багов(заметьте ваших багов) отсутствуют.
Я их организовывал тупым TStringList и опциями компилятора. Почему так глупо? Потому как наказние самому себе - пиши правильно.

Удачи. Надеюсь у вас все будет хорошо.


 
VMcL ©   (2004-07-22 22:19) [5]

>>Mim1 ©  (22.07.04 20:31) [2]

Если стоит глобальный хук на клавиатуру/мышь, то отладка средствами Delphi IDE может превратиться в сущее наказание - происходит взаимоблокировка, если для передачи данных EXE используется SendMessage(), к примеру. Пришлось вести лог или с помощью $IFDEF временно отключать хук перед точкой останова.


 
VMcL ©   (2004-07-22 22:20) [6]

...передачи данных в EXE...


 
Lin7   (2004-07-23 10:37) [7]

Ошибка выскакивает (судя по отзывам) в основном при выходе из проги. Думаю хук снимается корректно - с хуками давно работаю.
Использую D7 для компиляции EXE и D6 для Dll.

>>VMcL ©   (22.07.04 22:19) [5]
>>...если для передачи данных в EXE используется SendMessage()...
Из хука инфо заносится в реестр (редко) и в расшаренную область памяти. Exe"шник об этом извещается действительно с помощью SendMessage.



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

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
3-1089705380
Newuser
2004-07-13 11:56
2004.08.08
Вопрос по SQL


3-1088018425
SergP
2004-06-23 23:20
2004.08.08
ORACLE. экспорт и импорт дампа. Ошибка.


6-1086645049
SergP
2004-06-08 01:50
2004.08.08
Прикол с TWebBrowser...


4-1088512871
Basilio
2004-06-29 16:41
2004.08.08
Как поменять владельца процесса?


1-1090843038
Roma
2004-07-26 15:57
2004.08.08
Как сделать, чтобы кнопка после ее нжатия оставалась утопленной