Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Программные глюки   Найти похожие ветки 

 
igorx   (2002-05-07 17:05) [0]

Моя программа получает запросы от клиентов по сокету,
формирует запрос к SQL-серверу, сует его в поток, запускает на выполнение, получает результат и отправляет его по сокету обратно клиенту. Периодически (1-2 раза в сутки) Windows2000
выгружает программу из памяти без всяких объяснений.
Может у кого-нибудь есть версии по этому поводу?


 
Reindeer Moss Eater   (2002-05-07 17:17) [1]

Надо просто почитать лог, который такие программы обязательно должны вести.


 
Johnny Smith   (2002-05-07 17:58) [2]

Reindeer Moss Eater прав. По всей видимости, возникают какие-то исключительные ситуации.
Всвязи с этим у меня есть пара вопросов: на каких сокетах работает твоя прога (TServerSocket&TClientSocket или других) и как создаешь поток?


 
igorx   (2002-05-08 09:14) [3]

Моя программа работает на TServerSocket&TClientSocket, фиксированное число потоков создается в начале программы
и затем (при попытке выполнения команды SQL) программа
ищет свободный поток, при его осутствии ставит команду в
очередь (TLIST).
Лог я разумеется смотрел. Никаких идей. По поводу искл.
ситуаций: во-первых - ВСЯ программа в try"ях (несколько
уровней!), во-вторых - вылетает без выдачи каких-либо
окон. А вообще, какие искл. ситуации могут вызвать такой вылет?



 
Reindeer Moss Eater   (2002-05-08 09:16) [4]

И что написано в последней строке лога твоей программы?


 
igorx   (2002-05-08 09:19) [5]

Использую TServerSocket&TClientSocket.
Создаю фиксированное число потоков в начале программы, затем выделяю их под выполнение команды, если нет свободного потока,
команду ставлю в очередь (TLIST).
Вся программа в try (несколько уровней). Лог разумеется я смотрел. Никаких идей (все время вылет в разных местах).
А вообще, по причине каких искл. ситуаций программа может так тихо умирать?


 
Reindeer Moss Eater   (2002-05-08 09:23) [6]

И все таки, что написано в последней строке лога твоей программы?



 
igorx   (2002-05-08 09:30) [7]

Прошу прощенья за дублирование информации в конференции.
Под "логом программы" я имел ввиду текстовый файл, в который она
выводит определенную информацию (проход контрольных точек). Вряд ли он чем-нибудь тебе поможет (тем более, там в последней строке каждый раз разное). А что под логом имеешь ввиду ты?


 
Reindeer Moss Eater   (2002-05-08 09:39) [8]

В таких случаях только лог и поможет.
Если это не так, то твой лог только занимает лишние кластеры диска.
А конструкции try ... except даны нам чтобы писать в лог что за ошибки происходят в программе.


 
Johnny Smith   (2002-05-08 10:34) [9]

2igorx
Я почему про сокеты-то спросил: обычно в серьезных прогах принято самим писать сокеты, т.е. оболочку вокруг WinSocket"а. Дело в том, что в Дельфях (да простит меня Борланд) кривовато написаны некоторые вещи (напр. сокеты и потоки). Я-то когда писал программульки на сокетах, не ориентировал их на серьезное применение, поэтому пользовался стандартными TServerSocket&TClientSocket. Но при этом я заюзал такую вещь, как TServerClientThread. При коннекте к серверу на нем создается новый поток (на протяжении всего сеанса связи), в котором слушаются запросы от клиента и отправляются ответы на них. Тут же, в потоке, ты можешь создавать классы для коннекта к БД и выполнения запросов. Таким образом, тебе, я думаю, удастся уйти от очереди (слишком муторная вещь, на мой взгляд). Если заинтересуешься, я на мыло брошу исходники.


 
igorx   (2002-05-08 12:43) [10]

Да брось пожалуйста на alshapa@box.vsi.ru



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

Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
3-64487
a_k
2002-04-22 10:35
2002.05.20
select ... from (select ...)


1-64710
demon-777
2002-05-06 18:04
2002.05.20
Как скрыть и показать курсор


14-64836
Алексей Петров
2002-04-12 11:13
2002.05.20
Соцопрос: Есть ли на вашем ПК шара IPC$?


4-64881
greenrul
2002-03-11 20:58
2002.05.20
Мастера! Помогите вывести текст из буфера обмена в АКТИВНОЕ приложение.


14-64821
VAleksey
2002-04-10 13:36
2002.05.20
HELP





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