|
Технологический журнал, собрать данные о падении платформы при работе с COM объектом
| ☑ |
0
kanalex
16.04.22
✎
13:56
|
Доброго дня, Коллеги!
Подскажите, как правильно и возможно ли вообще настроить ТЖ так, что бы отловить падение платформы в результате кривой работы СОМ компоненты?
Собственно, проблема была локализована другими средствами, но попытки использовать ТЖ не дали результата, а хотелось бы
Проблема была в получении ответа на запрос через СОМ объект КлиентSQL = Новый COMОбъект("Microsoft.XMLHTTP");
Передавался кривой запрос... В старых версиях платформы она не падала, отрабатывала Попытка Исключение... или просто не получала ответа и шла дальше.
А сейчас, в 8.3.20 - на этом кривом запросе платформа просто падает.
Соотв, не отрабатывает ни Попытка Исключение, ни в журнале ничего не появляется...
Причем, последние ощущения, что это происходит не только при передаче откровенно кривого запроса, но и при передаче запроса, который не возвращает результата.
Есть возможность настроить ТЖ так, чтобы увидеть в нем место и причины такой ситуации? Или это уже выходит за рамки отработки платформы в ее живом состоянии?
|
|
1
VladZ
16.04.22
✎
19:15
|
Оказаться от com и забыть о проблеме
|
|
2
ДедМорроз
16.04.22
✎
20:21
|
Если у компоненты проблемы с памятью или вызывается assert,то это заваливает процесс - при этом,он не может это даже перехватить.
Можно,конечно,через Com+ заставить Com-сервнр работать в отдельном потоке,тогда он ничего не завалит,кроме себя,но скорость работы снизится в разы,а в целях отладки можно попробовать.
(1)асинхронный http-запрос обещают в новых версиях платформы,поэтому,от Com отказаться очень сложно,ьак как даже чтобы запустить скачивание в файл в отдельном процессе без окна все равно придется идти на поклон к Shell.Application.
|
|
3
kanalex
17.04.22
✎
11:44
|
Поставили вторым кластер той же версии. Запустились под ним...
Картина слегка изменилась, но все равно падает:(
полез сравнить версии СОМ компоненты на разных серверах...
На новом она, посвежее, конечно.
Старый 8.110.14393.4704
а Новый 8.110.17763.1911
Возможно дело в этом:(
Пойду копать, чем можно заменить этот СОМ...
Если есть проверенные пути, подскажите.
|
|
4
kanalex
18.04.22
✎
04:02
|
ну что ж...
Решение нашлось в использовании КлиентSQL = Новый COMОбъект("MSXML2.ServerXMLHTTP.6.0");
В свежей версии, даже при не корректном запросе все отрабатывает корректно.
|
|
5
ДедМорроз
18.04.22
✎
21:10
|
(4)это объект без проверок безопасности.
Вполне вероятно,что при кривом запросе проверка безопасности вышибает процесс.
|
|