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

ADN Club => ObjectARX => Тема начата: Эд от 26-06-2014, 14:14:11

Название: пошаговая отладка
Отправлено: Эд от 26-06-2014, 14:14:11
У меня autocad2012 и VC2010. После подключения к процессу, если попытаться установить
точку останова появляется пустой кружок с восклицательным знаком и примечанием
"в настоящий момент попадания в точку останова не произойдет. Нет загруженных символов
для этого документа". При этом само по себе приложение работает. Что здесь может быть
не так? SP1 на студии установлен.
Название: Re: пошаговая отладка
Отправлено: Александр Ривилис от 26-06-2014, 14:23:24
Добрый день и приветствую на форуме.  :)
1) На всякий случай хочу уточнить разрядность и версию Windows.
2) Надеюсь, что приложение откомпилировано в DEBUG
3) Надеюсь, что подключение к AutoCAD происходит в момент, когда приложение уже загружено в AutoCAD
4) Надеюсь, что при подключении к AutoCAD указан режим отладки Native:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F9815%2F7842324.1%2F0_dd619_d26dcb10_orig.png&hash=efd606cbca817ad9a33bbdeaad911d18)
Пока всё.
Название: Re: пошаговая отладка
Отправлено: Эд от 26-06-2014, 14:54:28
Спасибо! Помогло "машинный код" это наверное и есть "Native kode".
Название: Re: пошаговая отладка
Отправлено: Александр Ривилис от 26-06-2014, 14:59:13
Помогло "машинный код" это наверное и есть "Native kode".
Да. Это именно ОНО! :)
Название: Re: пошаговая отладка
Отправлено: Николай Горлов от 27-06-2014, 10:41:50
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs8.postimg.org%2Fwxkmntmsh%2Fdebug.jpg&hash=e1b47a1c920581a87cc5c6a80f94703c) (http://postimg.org/image/wxkmntmsh/)
ну и как альтернатива второй вариант отладки.
1. ставим нашу arx в автозагрузку автокада (дл этого её нужно коть раз скомпилить и в автокаде указать её в окне автозагрузки)
2. в самом проекте делаем настройки как показано на картинке. (версия Debug, разрядность системы, прописываем путь к acad.exe, с которым будем работать)
3. после билда или ребилда, в студии нажимаем F5. Загружается акад, наша arx-ина, можно отлаживать код :)

PS: не всегда удобно цепляться к уже загруженной в акад arx-ине (слишком много телодвижений :) ), хоть иногда и приходится. методом, который описал, пользуюсь в 99% случаев отладки.
Название: Re: пошаговая отладка
Отправлено: Андрей Бушман от 29-07-2014, 11:01:38
1. ставим нашу arx в автозагрузку автокада (дл этого её нужно коть раз скомпилить и в автокаде указать её в окне автозагрузки)
Это лишнее. В настройках проекта укажи запуск acad.exe с ключём /ld, за которым следует имя твоего ARX или DBX файла.

Утилита AcCoreConsole.exe подобного ключа не содержит, однако в ней имеется ключ, позволяющий загружать скрипты (SCR файлы). Т.о. для неё загрузку можно оформить в коде скрипта.
Название: Re: пошаговая отладка
Отправлено: Андрей Бушман от 14-08-2014, 22:39:24
Надеюсь, что подключение к AutoCAD происходит в момент, когда приложение уже загружено в AutoCAD
А коим боком это важно, загружено оно уже или ещё нет? Я многократно подключался как ДО того, как ARX приложение было загружено, так и ПОСЛЕ. Оба варианта работали как часы.

Во время отладки единственная проблема, которая у меня возникала - в случае использования удалённой отладки не срабатывали брэйкпоинты по условию (какое-то окошко выскакивало, мол "не могу, начальник!!!"). Вот только я сейчас точно не помню: то ли это было в .NET, то ли в ARX, однако то, что именно при удалённой отладке - это факт (брйкпоинт в точке должен был срабатывать при определённом значении счётчика в цикле)... С локальной отладкой таких проблем не было.
Название: Re: пошаговая отладка
Отправлено: Александр Ривилис от 15-08-2014, 00:33:42
Цитата: Александр Ривилис от 26-06-2014, 13:23:24

    Надеюсь, что подключение к AutoCAD происходит в момент, когда приложение уже загружено в AutoCAD

А коим боком это важно, загружено оно уже или ещё нет? Я многократно подключался как ДО того, как ARX приложение было загружено, так и ПОСЛЕ. Оба варианта работали как часы.
Андрей. Перечитай внимательно вопрос:
...После подключения к процессу, если попытаться установить
точку останова появляется пустой кружок с восклицательным знаком и примечанием
"в настоящий момент попадания в точку останова не произойдет. Нет загруженных символов
для этого документа"...
Так вот если приложение в AutoCAD не загружено, точки останова в нём в виде пустых кружков и толко если приложение загружено кружки становятся заполненными.