Сообщество программистов Autodesk в СНГ
ADN Club => ObjectARX => Тема начата: Ura от 02-08-2016, 13:52:16
-
Пробую создать проект из примеров в ObjectARX 2015\samples (если точно - ObjectARX 2015\samples\editor\SimpleToolPalette_dg)
Проект успешно строится, но не содержит отладочной информации
При создании проекта выводит сообщение
rxapi.lib(libinit.obj) : warning LNK4099: PDB 'rxapi_cl.pdb' was not found with 'rxapi.lib(libinit.obj)' or at 'C:\ObjectARX 2015\samples\editor\SimpleToolPalette_dg\x64\Debug\rxapi_cl.pdb'; linking object as if no debug info
При загрузке, приложение успешно загружается в AutoCADx64 под Windows 7x64 и выполняется
Вопрос
Как построить приложение с отладочной информацией?
Точки останова использовать не получается - выводит сообщение
The breakpoint will not currently be hit. No symbols have been loaded for this document.
-
Проект успешно строится, но не содержит отладочной информации
Содержит. Это тебе только кажется, что не содержит. :)rxapi.lib(libinit.obj) : warning LNK4099: PDB 'rxapi_cl.pdb' was not found with 'rxapi.lib(libinit.obj)' or at 'C:\ObjectARX 2015\samples\editor\SimpleToolPalette_dg\x64\Debug\rxapi_cl.pdb'; linking object as if no debug info
Это библиотеки самого AutoCAD, для которого нет отладочной информации в составе ObjecARX SDK. Так что отлаживать сам AutoCAD ты не можешь, а своё приложение запросто.
The breakpoint will not currently be hit. No symbols have been loaded for this document.
Тут нужно смотреть в каком каталоге находится pdb-файл для этого примера и почему отладчик его не видит.
-
Проверил это пример "как есть", только переключил его на Debug x64 и указал отладчику использовать путь к acad.exe из AutoCAD 2015. Всё прекрасно сработало:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F50455%2F7842324.6%2F0_12f82d_62fd20c7_orig.png&hash=a4fd42c7686838c5fd8de6a1e59196f7)
Так что проверь опции отладчика.
-
Проверил это пример "как есть", только переключил его на Debug x64 и указал отладчику использовать путь к acad.exe из AutoCAD 2015. Всё прекрасно сработало:
Александр, уточните пожалуйста, где нужно установить путь к acad.exe
Я добавил в Configuration Properties > C/C++ > Geheral > Additional #using Directories
путь
C:\Program Files\Autodesk\AutoCAD 2015
Но не помогло
Картинка ниже - с настройками
(https://s32.postimg.org/v872pjvip/005.png) (https://postimg.org/image/v872pjvip/)
-
Александр, уточните пожалуйста, где нужно установить путь к acad.exe
Я добавил в Configuration Properties > C/C++ > Geheral > Additional #using Directories
путь
C:\Program Files\Autodesk\AutoCAD 2015
Но не помогло
Картинка ниже - с настройками
:) Ну конечно же здесь:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F131807%2F7842324.6%2F0_130c54_361fcca9_orig.png&hash=0ce94533c6b6fbdabdc780506e92218f)
-
Отрыл проект из архива (чтобы был как после установки ObjectARX)
Установил опции как на картинке
Перестроил проект
Ничего не изменилось
После подключения к процессу, точки останова недоступны и соответственно Отладка тоже недоступна.
Программа выполняется но в точках останова не останавливается.
Может еще что-то пропустил?
Используется Visual Studio Ultimate 2012 Update 4
Windows 7 x64
-
Ничего не изменилось
После подключения к процессу, точки останова недоступны и соответственно Отладка тоже недоступна.
Программа (т.е. asdkSimpleToolPalette.arx) в AutoCAD загружена?
-
-
Спасибо за видео
Открыл файл из архива (чтобы было как после установки ObjectARX)
Устанавливаю опции как на картинке
Далее как на видео
Перекомпилировал проект
Запускаю отладку - выводит сообщение, что не находит файлов PDB, как показано на картинке ниже
Загружаю файл в AutoCAD
Программа запускается, но отладка недоступна
В папке имеется файл asdksimpletoolpalette.pdb и asdkSimpleToolPalette.arx
В C/C++ > Output Files > Program Database File Name
установлено значение $(IntDir)$(TargetName).pdb
При запуске отладки выводит вот это сообщение.
Ниже показывает список файлов, в которых не находит файлы PDB
(https://s31.postimg.org/mlondkq93/007.png) (https://postimg.org/image/mlondkq93/)
-
Для acad.exe и тех файлов из списка и не должно быть отладочной информации. А вот почему не загружает asdksimpletoolpalette.pdb - не знаю.
Попробуй отладку с другим проектом из ObjectARX SDK. Если и там не заработает, то вероятно что-то сбито в настройках Visual Studio.
Возможно отладчику указано отлаживать только Managed код, а необходимо еще и Native.
-
Попробуй отладку с другим проектом из ObjectARX SDK. Если и там не заработает, то вероятно что-то сбито в настройках Visual Studio.
Возможно отладчику указано отлаживать только Managed код, а необходимо еще и Native.
С другими примерами та же ситуация.
Устанавливал Native - ничего не изменилось.
Пробовал сделать проект без библиотек ObjectARX - отладка работает.
Мне сейчас нужно обновить проект, который я делал для более ранней версии ObjectARX - сделал миграцию, подправил код, чтобы правильно компилировался, но застрял на проблеме отладки.
Теперь не знаю что и делать, отлаживать без возможности отладки - это нереальная задача ... :(
Спасибо, буду разбираться
-
Первый раз с таким сталкиваюсь. И никогда такое не попадалось в интернете. А когда загружаешь arx-приложение в AutoCAD, точки остановки становятся заполенными кружками или нет? Таким образом можно понять увидел ли отладчик отладочную информацию в arx-файле или нет.
-
Отделил вопросы связанные с загрузкой приложения как доверенного в отдельную тему: http://adn-cis.org/forum/index.php?topic=7260.0
В дальнейшем прошу придерживаться правила: "Один вопрос - одна тема".
-
Установил настройки как на картинке ниже, после этого символы стали загружаться и начала работать отладка
Сервис \ Параметры \
(https://s15.postimg.io/mu97jls63/image.png)
-
Подозреваю, что была установка "Только указанные модули" и само-собой никакие модули указаны не были. Остальные установки никакого отношения к отладке ObjectARX-приложений отношения не имеют, но зато сильно тормозят запуск отладчика.
-
... но зато сильно тормозят запуск отладчика.
Это точно - надо снять галочку "Серверы символов Microsoft".
-
Спасибо! Столкнулся с аналогичной проблемой. Сделал как на видео - заработало.