Сообщество программистов Autodesk в СНГ
ADN Club => Civil 3D API => Тема начата: Алексей Терно от 24-04-2016, 13:23:19
-
Коллеги, а у кого получилось запустить отладку на Windows 10?
У меня отладка на C3D2016 и C3D2017 останавливается на загрузке acadmap.arx и C3D завершает работу.
Специалист с forums.autodesk.com утверждает, что у него отладка запускается без проблем; сравнили настройки VS2015, но это никакого результата не дало.
Тема на forums.autodesk.com (http://forums.autodesk.com/t5/autocad-civil-3d-customization/civil-3d-2017-windows-10-debugging/td-p/6286095)
-
Включи Use Managed Compatible Mode и попробуй.
-
Не помогло.
Вот мои последние настройки:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs31.postimg.org%2F95jcxx5ln%2Fimage.png&hash=0eafdff2cff77874129a763f1a59b925) (https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs31.postimg.org%2Ff07y5n8gr%2Fimage.png&hash=da17f52eff5619115934987b6f4e03fa)
Может дело не в этих настройках?
-
Убери еще и Enable Edit and Continue. Конечно проблема может быть и не в этом. Если ты вместо Start Debugging выберешь Start Without Debugging, то Civil3D 2017 тоже вылетает?
-
Enable Edit and Continue убрал - эффект тот же.
Start Without Debugging не приводит к вылету - C3D просто запускается.
-
Start Without Debugging не приводит к вылету - C3D просто запускается.
Отлично. А теперь после запуска C3D попробуй Debug->Attach to Process:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F53638%2F7842324.6%2F0_122481_cf89000e_orig.png&hash=799ececd3ad16c6c50ccd038978b02cd)
-
Если этот вариант сработает, то будешь так отлаживаться. Если мне не изменяет память, то в AutoCAD 2004 для отладки arx-приложений это был единственный вариант, т.к. система лицензирования AutoCAD конфликтовала с отладчиком.
-
Неожиданное решение нашлось вот в этой (http://adn-cis.org/forum/index.php?topic=2744.msg13758#msg13758) теме.
Переименовал файлы acadmap.arx и AcMapLoader.arx и отладка пошла :)
-
Неожиданное решение нашлось вот в этой (http://adn-cis.org/forum/index.php?topic=2744.msg13758#msg13758) теме.
Переименовал файлы acadmap.arx и AcMapLoader.arx и отладка пошла :)
А подключение к процессу не сработало или не проверял?
-
Подключение к процессу работает, только это чуть дольше и менее удобно.
-
Подключение к процессу работает, только это чуть дольше и менее удобно.
Но зато не нужно отключать модули, которые могут понадобится в процесе работы и отладки.
-
Но зато не нужно отключать модули, которые могут понадобится в процесе работы и отладки.
Александр, вот зачем вы это написали - я опять в сомнениях на счет перехода на Win 10 ))
-
Александр, вот зачем вы это написали - я опять в сомнениях на счет перехода на Win 10 ))
Ну у меня даже сомнений нет - считаю, что пока рано (IMHO). А по существу вопроса если вопрос упирается только в нажатие дополнительных кнопок, то можно и макрос написать и назначить его на кнопку. Когда-то для AutoCAD 2004 такой макрос был.
-
Нашел вот такое расширения для удобства подключения к процессу. Он запоминает процесс, к которому ты подключался в данном solution и предлагает его сразу для подключения: https://visualstudiogallery.msdn.microsoft.com/043c7c91-e127-4616-bce0-39b869cee4b3
-
Ну у меня даже сомнений нет - считаю, что пока рано (IMHO)
А почему вы так считаете?
-
А почему вы так считаете?
Считай что у меня здоровый консерватизм. Но это уже offtop...
-
AutoCAD 2017 SP1 и отладка .NET приложений (http://adn-cis.org/autocad-2017-sp1-i-otladka-.net-prilozhenij.html)
-
При использовании VS2017 отладка на C3D2017 происходит успешно.
После добавления ссылок:
- Autodesk.AEC.Interop.Base
- Autodesk.AEC.Interop.UIBase
- Autodesk.AECC.Interop.Land
- Autodesk.AECC.Interop.UiLand
- Autodesk.AutoCAD.Interop
- Autodesk.AutoCAD.Interop.Common
Перестала работать отладка на C3D 2016 :(
-
"Пальцем в небо": а разве это не использование COM-модели? Которая зависит от версии ПО?
-
Да, COM библиотеки в этом плане очень капризные. Если версии библиотек в ссылках проекта не соответствуют версии запускаемого Civil 3D, то есть большой шанс того, что приложение работать не будет. Не только при отладке. Поэтому, если их использовать, то нужно почти под каждую версию Civil 3D создавать отдельную сборку. Вроде как, у версий 2015-2017 COM библиотеки совместимы, и отдельно пересобирать под каждую из них не обязательно. Достаточно собрать под библиотеки версии 2015.
Но, насколько я знаю, Алексей Терно об этом в курсе. Так что, скорее всего, проблема в другом.
-
Перестала работать отладка на C3D 2016 :(
Подозреваю, что проблема в отсутствии флажка у Use managed compatibility mode. Без него VS 2015 с AutoCAD 2017 SP1 отладка работает, а с AutoCAD 2016 нет. Впрочем VS 2017 я еще не ставил, так что утверждать не буду.
-
Но, насколько я знаю, Алексей Терно об этом в курсе
Верно, Алексей Терно в курсе.
Изначально были подключены библиотеки 2016 и отладка велась под 2016. После подключения вышеуказанных библиотек (так же 2016) при запуске C3D во время отладки он неожиданно завершает работу. Переподключил все DLL для 2017 и отлаживаюсь на 2017 версии.
Подозреваю, что проблема в отсутствии флажка у Use managed compatibility mode.
Я не помню, установлен это флаг или нет позже проверю.
Да, кстати, возможно это будет принципиально: отладка, как таковая работает, просто во время запуска C3D он аварийно закрывается.
-
Неожиданное решение нашлось вот в этой (http://adn-cis.org/forum/index.php?topic=2744.msg13758#msg13758) теме.
Переименовал файлы acadmap.arx и AcMapLoader.arx и отладка пошла :)
Подключение к процессу работает, только это чуть дольше и менее удобно.
Но зато не нужно отключать модули, которые могут понадобится в процесе работы и отладки.
Я вот вспомнил, что map_dwgtrimobj (из этой темы: http://adn-cis.org/forum/index.php?topic=7676.0) как раз вроде из acadmap.arx берётся...
-
Я вот вспомнил, что map_dwgtrimobj (из этой темы: http://adn-cis.org/forum/index.php?topic=7676.0) как раз вроде из acadmap.arx берётся...
Да - это функция Map 3D. Я возвращал переименованные arx, чтобы map_dwgtrimobj работала. И отладка на 2016 все равно работала. Сивил стал вылетать при загрузки после подключения COM библиотек. Позже я отключу эти dll-ки и посмотрю, как это повлияет на отладку.
-
Перешёл на Windows 10 и тоже столкнулся с этой проблемой. Attach to process спасает, но не работает с Civil 3D 2014 и ниже - при попытке присоединится зависает и студия и Civil3D. В общем, неприятный момент.
-
Перешёл на Windows 10 и тоже столкнулся с этой проблемой. Attach to process спасает, но не работает с Civil 3D 2014 и ниже - при попытке присоединится зависает и студия и Civil3D. В общем, неприятный момент.
Изменение FIBERWORLD не помогает? И Attach to process только для managed кода (флажок у native убрать)?
-
Кстати:
- 2014 and older versions of AutoCAD and AutoCAD-based verticals will not be supported on Windows 10.
Источник: https://knowledge.autodesk.com/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/Windows-10-support-for-Autodesk-products.html
-
Изменение FIBERWORLD не помогает?
Действительно, помогло! Спасибо!
Кстати:
2014 and older versions of AutoCAD and AutoCAD-based verticals will not be supported on Windows 10.
Источник: https://knowledge.autodesk.com/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/Windows-10-support-for-Autodesk-products.html
Да вроде работает без проблем.
-
Хорошие новости! Сегодня с удивлением обнаружил, что в последних двух версиях (Civil 3D 2019 и 2020) починили отладку! То есть, теперь её можно запускать сразу с кнопки старт или по F5 и нет необходимости отдельно запускать Civil 3D и цепляться к его процессу! В Civil 3D 2017 и 2018 в этом плане ничего не изменилось. При попытке запустить их в режиме отладки процесс прерывается где-то ещё в самом начале и в окне "Output" появляется сообщение:
The program '[9864] acad.exe' has exited with code -529697949 (0xe06d7363) 'Microsoft C++ Exception'.
-
В Civil 3D 2017 и 2018 в этом плане ничего не изменилось.
Ну в них вряд ли что-то могло изменится. Разве что отладчик в VS... Кстати, а "Use managed compatibility mode" не помогает?
-
Кстати, а "Use managed compatibility mode" не помогает?
Никак не влияет - не "чинит" отладку версий 2017-18, но и не нарушает запуск отладки в версиях 2019-20.