![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с потоками [D5]
Игнат © (2002-06-24 16:35:00)У меня в программе запускается N потомков Tthread для выполнения
неких фоновых действий. Периодически (но не регулярно и не систематически) один из потоков рушится с сообщением EAccessViolation. Я себе уже голову сломал, везде где можно стоят try ... except. Подскажите, если кто сталкивался, ГДЕ искать исток ошибки!
msts (2002-06-24 19:34:00) [1]http://www.dps.aeed.tpu.edu.ru/gurin/gala/index.htm
Digitman (2002-06-24 18:37:00) [2]>kull
Не болтай ерунду ! Ошибку (по кр. мере уж модуль, в котором она произошла) можно определить всегда. И сделать это до примитивности просто. На то существует ImageBase модуля.
Digitman (2002-06-24 18:33:00) [3]>Игнат
Как это "Неизвестное исключение" ? Ты же упомянул EAccessViolation вроде бы ?
kull (2002-06-24 18:32:00) [4]Обычно если стоит галочка Stop on Delphi Exception, то отладчик указывает в какой строке Access violation.
Но иногда не указывает, вот тут Find Error может и не помочь.
Sasha9 (2002-06-24 18:15:00) [5]а ты пробовал запускать прогу не из дельфи?
Игнат (2002-06-24 18:10:00) [6]Спасибо, про такой путь я не подумал...
Правда, ошибка забавная - Неизвестное исключение.
kull (2002-06-24 17:33:00) [7]
> Digitman © (24.06.02 16:57)
А умище-то, умище-то куда девать...
Digitman (2002-06-24 16:57:00) [8]Вот ты когда окошко с EAccessViolation получаешь, не задумываешься разве, что за информация приводится в этом окне ? кроме, собственно, имени класса исключения ? Это ж тебе информация дается, а не кому-то там ... причем - достаточно детальная !
Ведь в окне, сообщающем тебе о произошедшем исключении, еще и адрес строки , вызвавшей исключение, наверняка присутствует ! И этот адрес чрезвычайно важен для целей отладки ! И DelphiIDE-меню есть соответствующее : Search | Find Error ... И выбор этого меню (с последующим указанием того самого адреса, что ты считаешь чушью, не имеющей к твоей программе никакого отношения - так ведь ?) в большинстве случаев моментально укажет тебе строчку в твоем тексе, при выполнении которой происходит это самое исключение !
MBo (2002-06-24 16:49:00) [9]без кода вряд ли кто что подскажет
Игнат (2002-06-24 16:47:00) [10]Да, использую Synchronize для отношений поток-форма и CriticalSection для связи между потоками
MBo (2002-06-24 16:40:00) [11]Синхронизация присутствует?