Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Андрей Бушман от 26-03-2014, 18:06:32

Название: Почему не удаётся подключиться к процессу acad и как это побороть?
Отправлено: Андрей Бушман от 26-03-2014, 18:06:32
Тема жевалась неоднократно, на различных форумах и везде, как я вижу, без положительного решения. Почему подключение из IDE к уже запущенному процессу acad приводит к его моментальному, 100%-му зависанию и как это решить, если всё же нужно именно подключиться к процессу?
Название: Re: Почему не удаётся подключиться к процессу acad и как это побороть?
Отправлено: Александр Ривилис от 26-03-2014, 19:48:12
Это вопрос скорее к Microsoft - почему её отладчик при подключении к AutoCAD приводит к таким результатам. Думаю, что многое зависит от:
1) Отладчик запущен от имени администратора или нет и состояние UAC
2) Версии AutoCAD
3) Разрядность AutoCAD
4) Версия VS
5) Версия .NET (если отладка управляемого кода)
6) Параметры отладчика
7) Значение системной переменной FIBERWORLD
Возможно еще что-то упустил.
Только что поэкспериментировал. Из всего перечисленного п. 7 оказался определяющим. Если FIBERWORLD равен 0, то подключение происходит нормально и отладка работает.
Из всего этого напрашивается вывод, что отладчик из VS не в состоянии корректно работать с приложениями, которые используют фиберы. Впрочем, я не открыл Америку - это достаточно известный факт. С другой стороны все версии AutoCAD до 2014 включительно плохо работают в конфигурации FIBERWORLD == 0, и поэтому такой режим можно рекомендовать только для отладки.
Напоминаю, что для того чтобы поменять значение FIBERWORLD нужно устанавливать значение системной переменной NEXTFIBERWORLD, а затем перезапускать AutoCAD.