Тема: Отладка ARX.NET приложений

Возможно ли это?

Re: Отладка ARX.NET приложений

> autogad
Да, это возможно в любом случае.
1) Речь идет о .NET приложении (т.е. dll-файле, загружаемом командой NETLOAD) или о arx-приложении (arx/dbx-файле)?
2) О какой версии AutoCAD идет речь?
В зависимости от этих двух вещей несколько меняется технология отладки.

Re: Отладка ARX.NET приложений

Заранее спасибо. Я имел ввиду сборки .dll под AutoCAD 2007.

Re: Отладка ARX.NET приложений

> autogad
Ну тогда так:
1. В меню Project-><имя проекта>Properties... (последний пункт меню):
а) на вкладке Build выбрать Configuration: Active(Debug)
b) на вкладке Debug  выбрать:
Start Action : Start external application и указать путь к acad.exe
Start optionsCommand line arguments и при необходимости задать опции командной строки AutoCAD (например профиль, с которым он запускается).
2. Меню Build->Build Solution (или Build <имя проекта>)
3. Расставить контрольные точки (breakpoint)
4. МенюDebug->Start Debugging (или клавиша F5)
5. При помощи команды _NETLOAD загрузить свое приложение.
6. Запустить свое приложение и отлаживать его.
7. Ели что-то не будет получаться - задавать вопросы на этом форуме.

Re: Отладка ARX.NET приложений

Спасибо. Проделал все пункты.
Но после выполнения команды _NETLOAD, ввожу имя своей команды, а AutoCAD пишет - 'Unknown сommand'.

Re: Отладка ARX.NET приложений

> autogad
Есть два варианта решения проблемы:
1) Для acmgd.dll и acdbmgd.dll установить свойство CopyLocal в False.
2) Изменить значение LOADCTRLS:

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R17.0\ACAD-XXXX:YYY\Applications\AcMgd]
"LOADCTRLS"=dword:0000000e

где XXXX - зависит от вертикального приложения AutoCAD, а YYY -  от локализации AutoCAD
Подробнее здесь: http://jtbworld.blogspot.com/2006/04/de … -2007.html

Re: Отладка ARX.NET приложений

Большое спасибо. CopyLocal = False - помогло.

Re: Отладка ARX.NET приложений

После Start Debugging и Netload несколько раз
появляестя сообщение:
"Managed Debugging Assistant 'LoaderLock' has detected a problem in 'C:\Program Files\Autodesk Civil 3D 2006\acad.exe'.
Additional Information: Попытка выполнения управляемого кода под блокировкой OS Loader.
Запуск управляемого кода в пределах функции DllMain или функции инициализации образа может вызвать зависание приложения."

Re: Отладка ARX.NET приложений

Почитай здесь: http://msdn2.microsoft.com/en-us/library/d21c150d.aspx

Re: Отладка ARX.NET приложений

как отлаживать, если у меня VS2005Express???
там нет упомянутых опций и возможностей...

Re: Отладка ARX.NET приложений

todesengel пишет:

как отлаживать, если у меня VS2005Express???
там нет упомянутых опций и возможностей...

Можно вручную впсать в файл настроек проекта CSPROJ две строчки:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
   <StartAction>Program</StartAction>
   <StartProgram>c:\program Files\AutoCAD 2008\acad.exe</StartProgram>

</PropertyGroup>

Как вам такой сто-пудовый вариант? )