Главная страница
    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.46 MB
Время: 0.035 c
1-1090859356
oleg_
2004-07-26 20:29
2004.08.08
Атрибуты каталога


6-1086710125
ev
2004-06-08 19:55
2004.08.08
подсчет контрольных сумм


3-1089404183
brigand
2004-07-10 00:16
2004.08.08
Как подлючиться


8-1085328726
miek
2004-05-23 20:12
2004.08.08
алгоритм "Плазма"


1-1090996285
student__
2004-07-28 10:31
2004.08.08
TChart





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