ADN Club > ObjectARX
Отладка arx-приложения.
pucher:
Здравствуйте. Из "objectarx_2013_training" скомпилировал "пример 2" в 2010-й студии и успешно запустил в автокаде 2013. Решил попробовать отладку:
А) Свойства проекта - Debugging - Command - указал путь к acad.exe. Поставил точку останова, запустил отладку. Загрузился автокад (точка останова стала пустой), закинул arx-приложение в автокад (точка останова стала красной). Все работает.
Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
Вопросы:
1) Есть ли другие, более быстрые или удобные способы отладки, нежели п.А)? Что-то вроде п.Б), без перезапуска автокада.
2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки? Полагаю, наиболее удобный способ, что бы автокад подцеплял приложение из папки, куда оно компилируется.
Спасибо.
Александр Ривилис:
--- Цитата: pucher от 11-12-2018, 22:45:46 ---Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
--- Конец цитаты ---
Вероятнее всего ты неправильно указал тип приложения для отладки, т.к. всё должно работать:
После этого в принципе можно не перезапускать AutoCAD. Нужно выполнять attach/detach к процессу acad.exe и загружать/выгружать приложение. Перестроить приложение, когда оно загружено в AutoCAD нельзя - файл заблокирован. "В принципе" я написал потому, что из ObjectARX достаточно легко вызвать в AutoCAD Fatal Error. Так что вероятно часто придётся его перезапускать.
--- Цитата: pucher от 11-12-2018, 22:45:46 ---2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки?
--- Конец цитаты ---
Вот так:
pucher:
--- Цитата: Александр Ривилис от 11-12-2018, 23:17:06 ---Б) Попробовал запустить вручную автокад, прикрепиться из студии к acad.exe и закинул вручную приложение в автокад. Само приложение работает, но точки останова не срабатывают.
Вероятнее всего ты неправильно указал тип приложения для отладки, т.к. всё должно работать:
--- Конец цитаты ---
Да, все заработало.
--- Цитата: Александр Ривилис от 11-12-2018, 23:17:06 ---После этого в принципе можно не перезапускать AutoCAD. Нужно выполнять attach/detach к процессу acad.exe и загружать/выгружать приложение. Перестроить приложение, когда оно загружено в AutoCAD нельзя - файл заблокирован. "В принципе" я написал потому, что из ObjectARX достаточно легко вызвать в AutoCAD Fatal Error. Так что вероятно часто придётся его перезапускать.
--- Конец цитаты ---
Выходит, самый эффективный способ отладки по п.А)?
--- Цитата: Александр Ривилис от 11-12-2018, 23:17:06 ---2) В п.А) как сделать автоподгрузку приложения в автокад при его загрузке в процессе отладки?
Вот так:
--- Конец цитаты ---
А вот это не сработало. Прописал /Id $(OutDir) \AdskStep02_2012.arx. При запуске автокада окошко с "не удается найти указанный файл чертежа. Убедитесь, что указанный файл существует". А в командной строке:
Игнорируются неизвестные параметры: /Id
x64\Debug2012\: Неверное имя чертежа.
Александр Ривилис:
--- Цитата: pucher от 12-12-2018, 20:17:53 ---А вот это не сработало. Прописал /Id $(OutDir) \AdskStep02_2012.arx. При запуске автокада окошко с "не удается найти указанный файл чертежа. Убедитесь, что указанный файл существует". А в командной строке:
Игнорируются неизвестные параметры: /Id
x64\Debug2012\: Неверное имя чертежа.
--- Конец цитаты ---
У тебя опечатки. Должно быть так:
--- Код: ---/ld $(OutDir)\AdskStep02_2012.arx
--- Конец кода ---
https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/AutoCAD-Core/files/GUID-8E54B6EC-5B52-4F62-B7FC-0D4E1EDF093A-htm.html
pucher:
--- Цитата: Александр Ривилис от 12-12-2018, 20:24:06 ---У тебя опечатки. Должно быть так:
Код:
/ld $(OutDir)\AdskStep02_2012.arx
--- Конец цитаты ---
С этой строкой автокад загружается без предупреждений, приложение автоматически не загружается. Может, влияет как-то структура папок проекта? Или то, что автокад русский?
Навигация
Перейти к полной версии