Отладка arx-приложения.

Автор Тема: Отладка arx-приложения.  (Прочитано 4544 раз)

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

Оффлайн pucherАвтор темы

  • ADN OPEN
  • Сообщений: 19
  • Карма: 0
Отладка arx-приложения.
« : 11-12-2018, 22:45:46 »
Здравствуйте. Из "objectarx_2013_training" скомпилировал "пример 2" в 2010-й студии и успешно запустил в автокаде 2013. Решил попробовать отладку:
А) Свойства проекта - Debugging - Command - указал путь к acad.exe. Поставил точку останова, запустил отладку. Загрузился автокад (точка останова стала пустой), закинул arx-приложение в автокад (точка останова стала красной). Все работает.
Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
Вопросы:
1) Есть ли другие, более быстрые или удобные способы отладки, нежели п.А)? Что-то вроде п.Б), без перезапуска автокада.
2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки? Полагаю, наиболее удобный способ, что бы автокад подцеплял приложение из папки, куда оно компилируется.
Спасибо.

Отмечено как Решение pucher 12-12-2018, 21:51:41

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Отладка arx-приложения.
« Ответ #1 : 11-12-2018, 23:17:06 »
Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
Вероятнее всего ты неправильно указал тип приложения для отладки, т.к. всё должно работать:


После этого в принципе можно не перезапускать AutoCAD. Нужно выполнять attach/detach к процессу acad.exe и загружать/выгружать приложение. Перестроить приложение, когда оно загружено в AutoCAD нельзя - файл заблокирован. "В принципе" я написал потому, что из ObjectARX достаточно легко вызвать в AutoCAD Fatal Error. Так что вероятно часто придётся его перезапускать.

2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки?

Вот так:




Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн pucherАвтор темы

  • ADN OPEN
  • Сообщений: 19
  • Карма: 0
Re: Отладка arx-приложения.
« Ответ #2 : 12-12-2018, 20:17:53 »
Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
Вероятнее всего ты неправильно указал тип приложения для отладки, т.к. всё должно работать:
Да, все заработало.

После этого в принципе можно не перезапускать AutoCAD. Нужно выполнять attach/detach к процессу acad.exe и загружать/выгружать приложение. Перестроить приложение, когда оно загружено в AutoCAD нельзя - файл заблокирован. "В принципе" я написал потому, что из ObjectARX достаточно легко вызвать в AutoCAD Fatal Error. Так что вероятно часто придётся его перезапускать.
Выходит, самый эффективный способ отладки по п.А)?

2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки?

Вот так:
А вот это не сработало. Прописал /Id $(OutDir) \AdskStep02_2012.arx. При запуске автокада окошко с "не удается найти указанный файл чертежа. Убедитесь, что указанный файл существует". А в командной строке:

Игнорируются неизвестные параметры: /Id
x64\Debug2012\:  Неверное имя чертежа.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Отладка arx-приложения.
« Ответ #3 : 12-12-2018, 20:24:06 »
А вот это не сработало. Прописал /Id $(OutDir) \AdskStep02_2012.arx. При запуске автокада окошко с "не удается найти указанный файл чертежа. Убедитесь, что указанный файл существует". А в командной строке:

Игнорируются неизвестные параметры: /Id
x64\Debug2012\:  Неверное имя чертежа.
У тебя опечатки. Должно быть так:
/ld $(OutDir)\AdskStep02_2012.arxhttps://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/AutoCAD-Core/files/GUID-8E54B6EC-5B52-4F62-B7FC-0D4E1EDF093A-htm.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн pucherАвтор темы

  • ADN OPEN
  • Сообщений: 19
  • Карма: 0
Re: Отладка arx-приложения.
« Ответ #4 : 12-12-2018, 21:32:15 »
У тебя опечатки. Должно быть так:
Код: [Выделить]
/ld $(OutDir)\AdskStep02_2012.arx
С этой строкой автокад загружается без предупреждений, приложение автоматически не загружается. Может, влияет как-то структура папок проекта? Или то, что автокад русский?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Отладка arx-приложения.
« Ответ #5 : 12-12-2018, 21:35:07 »
Может, влияет как-то структура папок проекта?
Может. Пропиши тогда в явном виде с полным путём доступа:
/ld "полный_путь_к_arx_файлу.arx"Полный путь обязательно в двойных кавычках, как я показал выше.
Например:
/ld "E:\RAN\ARX2013\GeomProps\GeomProps\GeomProps2013x64.arx"
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн pucherАвтор темы

  • ADN OPEN
  • Сообщений: 19
  • Карма: 0
Re: Отладка arx-приложения.
« Ответ #6 : 12-12-2018, 21:51:13 »
У тебя опечатки. Должно быть так:
Код: [Выделить]
/ld $(OutDir)\AdskStep02_2012.arx
Бэкслеш оказался лишним.