Почему не удаётся подключиться к процессу acad и как это побороть?

Автор Тема: Почему не удаётся подключиться к процессу acad и как это побороть?  (Прочитано 4894 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Тема жевалась неоднократно, на различных форумах и везде, как я вижу, без положительного решения. Почему подключение из IDE к уже запущенному процессу acad приводит к его моментальному, 100%-му зависанию и как это решить, если всё же нужно именно подключиться к процессу?

Отмечено как Решение Александр Ривилис 14-10-2014, 22:52:32

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Это вопрос скорее к 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.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение