Не выполняется отладка кода

Автор Тема: Не выполняется отладка кода  (Прочитано 16076 раз)

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

Оффлайн Максим МаркевичАвтор темы

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Доброго времени суток, уважаемые. Начал я разбираться с Revit API(Revit 2016). Как всякий порядочный человек, начал с "Hello World". Зашел в справку http://help.autodesk.com/view/RVT/2016/ENU/?guid=GUID-8EB25D2A-3CAF-486A-BA8E-C2BEF3DB68F6, там отлично все расписано, все хорошо и получилось (скрин1). Но в конце данной статьи есть еще вариант отладки при помощи Revit, но почему-то он не работает (скрин2). А, если запустить, просто отладку, без Revita, то тоже выдает ошибку (скрин3). Не подскажете, в чем дело? Заранее, спасибо.
######

Информация о версии Visual Studio:



Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Не выполняется отладка кода
« Ответ #1 : 25-03-2016, 09:29:05 »
evthisrel, добрый день. Приветствую на форуме.
Какой значение стоит поле Platform в свойствах проекта? Должно быть AnyCPU.

Оффлайн Максим МаркевичАвтор темы

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Re: Не выполняется отладка кода
« Ответ #2 : 25-03-2016, 11:32:47 »
evthisrel, добрый день. Приветствую на форуме.
Какой значение стоит поле Platform в свойствах проекта? Должно быть AnyCPU.
Все точно так же, как у Вас.



Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Не выполняется отладка кода
« Ответ #3 : 25-03-2016, 11:35:51 »
evthisrel, тьфу ты, видимо еще не проснулся с утра)
Ошибка говорит о том, что проект вида Library DLL нельзя запустить. Нужно указать, какую программу запускать при дебаге DLL. На вашем же скрине, выберите пункт Start external program и укажите пусть к Revit, который уже указан.

Оффлайн Максим МаркевичАвтор темы

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Re: Не выполняется отладка кода
« Ответ #4 : 25-03-2016, 12:34:27 »
Виктор Чекалин, так это понятно.. На данном скрине не активна, потому что я пробовал по-всякому.

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

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выполняется отладка кода
« Ответ #5 : 25-03-2016, 12:49:45 »
evthisrel,
1) Сам Revit запускается если вы запускаете отладку? Если нет, то правильный ли путь к Revit.exe?
2) Если вместо запуска отладки вручную запустить Revit и выполнить в Visual Studio Attach to... к процессу Revit.exe?
3) Почему у вас на скрине (последнем) отмечено Start project, а не Start external program?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Не выполняется отладка кода
« Ответ #6 : 25-03-2016, 13:15:04 »
evthisrel, второй скрин вообще ошибкой не является.
А вот это наверняка поможет. Зайти в настройки Visual Studio, найти пункт Debugging и поставить галочку Use Managed Compatibility Mode

Оффлайн Максим МаркевичАвтор темы

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Re: Не выполняется отладка кода
« Ответ #7 : 25-03-2016, 13:35:51 »
Виктор Чекалин, Александр Ривилис,
Записал видеопояснинение, возможно, так будет понятнее..
[ Invalid YouTube link ]&feature=vm

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Не выполняется отладка кода
« Ответ #8 : 25-03-2016, 13:49:19 »
evthisrel, видео вопрос.. Круто, еще такого не было:)
По порядку, что значит первая ошибка (скрин №3 из первого сообщения). В видео звучит вопрос, который уже содержит ответ. Вопрос, звучит так: "Почему программа не выполняется". А потому и не выполняется, потому что плагин - это не программа. Вернее не самостоятельная программа, а только та, которая может работать внутри другой программы, в данном случае Revit.
Но в целом, плагин представляет собой DLL которую нельзя запустить на выполнение.
Что касается второго вопроса про Warnings. Опять же, это не является причиной того, почему отладка не работает. Как ее починить я уже написал. А предупреждение говорит лишь о том, что в проекте подключены 64-битные библиотеки RevitAPI.dll, а проект компилируется как под 32-битную архитектуру, так и под 64-битную. Убрать их можно, выставив в свойствах проекта, что собирать его только под 64-битную архитектуру, но в таком случае, для 32-битной версии Revit надстройку нужно будет собирать отдельно. Возможно можно это предупреждение отключить в настройках Visual Studio.

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

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выполняется отладка кода
« Ответ #9 : 25-03-2016, 14:04:58 »
evthisrel,
В дальнейшем для записи видео используй Autodesk Screencast (как указано у меня в подписи). Будет видно какие клавиши ты нажимал.
Судя по видео Revit не запустился полностью (застрял на заставке), когда ты вызвал Debug...
Я же имел в виду запустить Revit с иконки самого Revit и когда он нормально запустится выполнить из Visual Studio Attach to...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выполняется отладка кода
« Ответ #10 : 25-03-2016, 14:19:48 »
Возможно можно это предупреждение отключить в настройках Visual Studio.
Можно: http://thebuildingcoder.typepad.com/blog/2013/06/processor-architecture-mismatch-warning.html
Мы это здесь обсуждали для AutoCAD: http://adn-cis.org/forum/index.php?topic=2956.msg15770#msg15770
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выполняется отладка кода
« Ответ #11 : 25-03-2016, 14:39:40 »
Еще одно обсуждение на эту тему для VS 2015 SP1 и Revit 2016: https://forums.autodesk.com/t5/revit-api/visual-studio-2015-sp1/m-p/5932318#M13077
Решение всё тоже: Tools > Options > Debugging и включить "Use Managed Compatibility Mode"
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Максим МаркевичАвтор темы

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Re: Не выполняется отладка кода
« Ответ #12 : 25-03-2016, 15:04:28 »
Виктор Чекалин, Александр Ривилис,
Опять же, мне так проще объяснять, быстрей получается (извиняюсь, если это не удобный формат):

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Не выполняется отладка кода
« Ответ #13 : 25-03-2016, 15:15:38 »
evthisrel, Максим, опять же в вопросе содержится ответ. В самом конце говоришь, "..вот я жду когда она выполняется, да она даже и не выполняется..."
Так правильно, точка остановки говорит о том, чтобы прервать дальнейшее выполнение кода при выполнении программы. А на видео я не увидел, что команда была запущена из Revit. Т.е. этот код не выполнялся, поэтому и не было остановки на этой точке. А выполнится он тогда, когда эта команда будет явно запущена из интерфейса Revit.
Off-Topic: показать
все таки правильно Revit, а не Revit

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

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Не выполняется отладка кода
« Ответ #14 : 25-03-2016, 15:29:20 »
Опять же, мне так проще объяснять, быстрей получается (извиняюсь, если это не удобный формат):
1) У меня нет возможности слушать то, что ты говоришь на видео. Поэтому в дальнейшем используй Autodesk Screencast. Считай что это требование администратора форума.
2) Я не увидел и ты не сказал ничего по поводу Tools > Options > Debugging и включить "Use Managed Compatibility Mode". Сделал ты его, не сделал ты его?
Не понятно как тебе помогать, если с твоей стороны нет реакции.
Остальное тебе написал Виктор Чекалин. Ты действительно решил, что если выполнишь Attach to..., то у тебя сразу начнётся выполняться твой код? Я не увидел того, чтобы ты запустил команду.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение