Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизFreeLibrary Найти похожие ветки
← →
stone © (2005-10-13 10:41) [0]При выполнении FreeLibrary при закрытии программы процесс "зависает". Куда копать?
← →
Reindeer Moss Eater © (2005-10-13 10:50) [1]Копай влево.
← →
Digitman © (2005-10-13 10:55) [2]или вправо - там встроенный в Делфи отладчик найдешь, который и прояснит причину
← →
stone © (2005-10-13 11:02) [3]Дельные советы. Особенно [1]
> Digitman © (13.10.05 10:55) [2]
Там это где? Если ты про окно СPU, то это мне мало поможет, ассемблер я не знаю.
← →
Digitman © (2005-10-13 11:05) [4]
> Там это где?
"там" - это в самой IDE.
> ассемблер я не знаю
а я, заметь, не знаю, о какой ДЛЛ ты речь ведешь - то ли о тобой самим разработанной, толи о чужой
← →
Гаврила © (2005-10-13 11:09) [5]у тебя часом не 2005?
Я тут подметил, что при запуске под отладчиком из 2005 иногда (особенно после начала финализации) при возникновении исключения (например AV) программа вместо того, чтобы ругнуться, зависает.
При запуске не из под IDE все нормально
проверь
← →
stone © (2005-10-13 11:14) [6]о самим разработанной
В ней, при вызове создается модуль данных, перед выгрузкой выполняется процедура в библиотеке уничтожающая этот модуль, после этого в приложении вызывается FreeLibrary и на этом процесс виснет. Смотрел в окне CPU. В определенном месте получается бесконечный цикл.
← →
Digitman © (2005-10-13 11:24) [7]
> Смотрел в окне CPU
зачем CPU-то ? когда есть исх.тексты библиотеки ?
ты с принципами пошаговой трассировки кода своей библиотеки средствами встр.отладчика вообще знаком ?
открываешь свой библ.проект, собираешь его со всеми опциями отладки,
ставишь брейкпойнты на нужные строки в тексте библиотечного проекта (в дан.случае - в начале кода финализации библиотеки при ее выгрузке), в меню Run -> Parameters указываешь хост-приложение (то которое обращается в ходе работы к твоей библиотеке) и шмешь F9 ... как только хост-приложение вызовет FreeLibrary, произойдет останов на брейкпойнте, после чего ты обычным образом пошагово сможешь пройтись по коду финализации и посмотреть, что там у тебя не так ..
← →
Reindeer Moss Eater © (2005-10-13 11:24) [8]У тебя ошибка в программе.
В 17-ой с половиной строке.
← →
stone © (2005-10-13 11:44) [9]
> Digitman © (13.10.05 11:24) [7]
Это я все делал. В общем уже не важно. Проблему решил.
← →
Digitman © (2005-10-13 11:50) [10]
> В общем уже не важно. Проблему решил
не удовлетворишь ли любопытство публики : где ж она была, направо или налево ?) и как решил ? .. может кому-то впоследствии твой опыт пригодится ..
← →
stone © (2005-10-13 12:15) [11]Библиотека получала данные с вэб-сервера и обрабатывала их и отправляла приложению. При выгрузке, как оказалось, процесс не зависал, а ожидал завершения других процессов, связанных с удаленным доступом. Иногда ожидание доходило до 30 сек. поэтому казалось что зависает.
← →
Digitman © (2005-10-13 12:26) [12]
> stone © (13.10.05 12:15) [11]
Короче, резюме как всегда - "Торопыжка был голодный.."(С) ..)
← →
evvcom © (2005-10-13 16:31) [13]проглотил утюг холодный... :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c