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

30/05/2013

Точки останова в пользовательской форме не обрабатываются при отладке .NET - приложения для AutoCAD 2012 в Visual Studio 2010

Вопрос:

Я пытаюсь создать .NET – приложение для AutoCAD 2012 в Visual Studio 2010. Точки останова в общих классах обрабатываются (то есть при отладке на них происходит остановка), а вот в пользовательских формах не обрабатываются. Я прочитал эту статью: http://through-the-interface.typepad.com/through_the_interface/2010/04/hitting-breakpoints-in-net-class-libraries-while-debugging-with-visual-studio-2010.html. Но она не помогла. Я пробовал и “Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(oForm)” и “oForm.ShowDialog()”, но результат один и тот же. Что еще можно сделать?

Ответ:

Отладчик VS2010 достаточно плохо работает с фиберами (fiber); решение заключается в том, чтобы отключить фибера в AutoCAD .

Если вы еще не в курсе, фибера считаются устаревшими, так как Microsoft прекратила их поддержку в Windows. Для дополнительной информации читайте: http://msdn.microsoft.com/ru-ru/library/ms682661(v=vs.85).aspx

Чтобы отключить их использование, вы можете установить системную переменную NEXTFIBERWORLD в 0, закрываем все документы, и AutoCAD будет работать без фиберов в новых документах.  Системная переменная FIBERWORLD может показать текущее состояние фибера.

Но тут возможен побочный эффект при использовании NEXTFIBERWORLD = 0  - может перестать работать Лента (Ribbon), то есть когда нажимаем на кнопки на Ленте ничего не происходит. В качестве альтернативного средства можно использовать командную строку.

Это относится и к другим вертикальным продуктам на базе AutoCAD, таким как Civil 3D, ACA, AME, и т.д.

 

Источник: http://adndevblog.typepad.com/autocad/2012/12/breakpoints-in-custom-form-not-hit-when-debugging-net-addin-for-autocad-2012-from-visual-studio-2010.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=86.0

Опубликовано 30.05.2013
Отредактировано 14.06.2013 в 04:04:17