Отладка приложений для КОМПАСА

Автор Death, 08.05.07, 12:39:06

« предыдущая - следующая »

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

Death

Здравствуйте!

Я использую КОМПАС-3D V7 и Visual C++ 8.0.

Проектируя библиотеки для КОМПАСА, я столкнулся с отсутствием возможности выполнить программу в режиме отладки, поставить точки прерываний, посмотреть значения переменных... Допускаю, что я просто не знаю, как это сделать. Эсли это так, то кто-нибудь может пролить свет на решение этой проблемы?

Bordes

Цитата: Death от 08.05.07, 12:39:06
Здравствуйте!

Я использую КОМПАС-3D V7 и Visual C++ 8.0.

Проектируя библиотеки для КОМПАСА, я столкнулся с отсутствием возможности выполнить программу в режиме отладки, поставить точки прерываний, посмотреть значения переменных... Допускаю, что я просто не знаю, как это сделать. Эсли это так, то кто-нибудь может пролить свет на решение этой проблемы?


Посмотрите вот тут:
http://forum.ascon.ru/index.php/topic,2740.msg14310/topicseen.html#msg14310
может, что поможет.

Hик

Цитата: Death от 08.05.07, 12:39:06
Я использую КОМПАС-3D V7 и Visual C++ 8.0.

Попробуйте использовать КОМПАС-3D V7 Demo и Visual C++ 8.0.

Death

08.05.07, 15:55:21 #3 Последнее редактирование: 08.05.07, 16:01:35 от Death
Bordes:
Потребуется некоторое время, чтобы найти всё это в Visual C++ 8.0, но всё равно спасибо.

Ник:
Сегодня вечером скачаю КОМПАС-3D V7 Demo. Там достаточно "Start Debugging" с указанием Kompas.exe?

Programmer

Если Вы работаете через интерфейсы, то можно поступить еще проще. Для отладки библиотеки я создаю два приложения в группе. Первое - сама библиотека, а второе это обычное приложение, с списком или деревом команд которое вызывает функцию LIBRARYENTRY с номером команды, а Компас используется при этом как внешнее приложение.

m@ster_!ozman

Обычно хватает в выдачи сообщения о значении 1 или 2 переменных, я делаю это следующим способом:
просто в нужном месте ставлю

       MessageBox(0, var1, var2, 0);

Death

Цитата: Programmer от 01.06.07, 08:46:45
Если Вы работаете через интерфейсы, то можно поступить еще проще. Для отладки библиотеки я создаю два приложения в группе. Первое - сама библиотека, а второе это обычное приложение, с списком или деревом команд которое вызывает функцию LIBRARYENTRY с номером команды, а Компас используется при этом как внешнее приложение.


Весьма удачный вариант, тут даже нечего добавить.  :)

Цитата: m@ster_!ozman от 04.06.07, 06:04:11
Обычно хватает в выдачи сообщения о значении 1 или 2 переменных, я делаю это следующим способом:
просто в нужном месте ставлю
       MessageBox(0, var1, var2, 0);


Этим способом я и пользовался, но его возможности весьма ограничены...  :o:

Death

 :idea: Можно пойти более экзотическим путём. Вставляем в программу что-нибудь типа:

CopyMemory((char *) 0x4857566, (char *) 0x4857867, 7);

...и Windows говорит нам "An unhandled win32 exception occurred in KOMPAS.EXE" и предлагает перейти к отладке.  :-)))

PON

Поднимаю тему вверх. Вопрос очень актуален.

1. Что по этому поводу думает АСКОН? Какие официальные советы могут дать специалисты компании?
2. Существуют ли файлы kompas.exe с поддержкой отладки? Может старые версии? Или из демо дистрибутивов?
3. Почему не сделать незащишенную урезанную версию исполняемого файла kompas.exe с поддержкой отладки?

Sugonyaev

13.02.08, 08:03:53 #9 Последнее редактирование: 13.02.08, 08:07:06 от Sugonyaev
во ссылке http://forum.ascon.ru/index.php/topic,2740.msg14310/topicseen.html#msg14310
все верно описано и этот способ пашет как в Visual C++ так и в Delphi

гость

Если VC++ 7  и выше... То используйте debug->Attach to process. И все прекрасно работает и "отлаживается"

PON

Цитата: Sugonyaev от 13.02.08, 08:03:53
во ссылке http://forum.ascon.ru/index.php/topic,2740.msg14310/topicseen.html#msg14310
все верно описано и этот способ пашет как в Visual C++ так и в Delphi

и где в дельфи вы видели Workspace?
Так уж получилось что разработка ведется именно в дельфи.
Если у кого есть еще идеи то буду рад услышать.