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

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

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

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

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь 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
  • Сообщений: 27
  • Карма: 0
Re: Отладка arx-приложения.
« Ответ #6 : 12-12-2018, 21:51:13 »
У тебя опечатки. Должно быть так:
Код: [Выделить]
/ld $(OutDir)\AdskStep02_2012.arx
Бэкслеш оказался лишним.

Оффлайн DimVer

  • ADN OPEN
  • Сообщений: 32
  • Карма: 2
Re: Отладка arx-приложения.
« Ответ #7 : 03-06-2024, 18:05:12 »
Добрый день, подскажите, что нужно сделать, чтобы при отладке можно было смотреть значения свойств объектов?

Сейчас "Information not available, no symbols loaded for acdb24.dll" и "load symbols for additional information"

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Отладка arx-приложения.
« Ответ #8 : 06-06-2024, 13:31:48 »
Сейчас "Information not available, no symbols loaded for acdb24.dll" и "load symbols for additional information"
Это нормально. Ты должен отлаживать свою программу, а не AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVer

  • ADN OPEN
  • Сообщений: 32
  • Карма: 2
Re: Отладка arx-приложения.
« Ответ #9 : 06-06-2024, 16:59:41 »
Но я вычитываю значения из автокада в переменные, определенные в моей программе, и они тоже не должны отображать значения?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Отладка arx-приложения.
« Ответ #10 : 06-06-2024, 17:19:44 »
Но я вычитываю значения из автокада в переменные, определенные в моей программе, и они тоже не должны отображать значения?
Теоретически должны.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVer

  • ADN OPEN
  • Сообщений: 32
  • Карма: 2
Re: Отладка arx-приложения.
« Ответ #11 : 06-06-2024, 17:20:47 »
А по факту "увы"