2014-12-27 12 views
1

ObjectARX 응용 프로그램을 디버깅하기 위해 Visual Studio IDE 내에서 (!!!)을 실행할 때마다 이라는 AutoCAD 인스턴스가 실행되고 번 디버그 시도는 각각입니다.ObjectARX 응용 프로그램을 디버깅하는 더 빠른 방법이 있습니까?

이것은 시간 낭비로 이어 지므로 Autocad가로드 될 때까지 기다립니다. 내 질문은 :

  • 디버깅 세션간에 AutoCAD를 열어 둘 수있는 방법이 있습니까? 또는 ...

  • COM 응용 프로그램이 Interop 객체/명령과 함께 수행 할 때 열린 AutoCAD 인스턴스에 연결하고 ObjectARX 객체/명령을 사용하는 독립 실행 형 .EXE 응용 프로그램을 작성하는 것이 가능합니까? 이 방법은 디버깅이 훨씬 빠릅니다.

마지막 실행은 out-of-process 응용 프로그램과 같이 실행 속도가 느리지 만 코드와 디버그 코드 논리를 수정하기 위해서는 즉시 실행됩니다.

편집 : NET-RELOAD의 사용은 디버깅을 허용하지 않기 때문에이 경우 적용하지 마십시오.

답변

1

나는 생각할 수 없다. 속도를 높이려면 AutoCAD의 Autoloader 옵션을 사용하고이 폴더에 "Built out output path"를 설정하십시오.

이렇게하면 디버깅 할 때마다 빌드 된 DLL을 NETload 할 필요가 없습니다.

건배, 알랭

+0

감사합니다. @Alain. 자동 로딩의 경우 "** [AutoCAD 경로] \ Support \ acaddoc.lsp **"파일을 편집 (또는 생성)하고 다음과 같은 행을 추가하십시오 : '(명령 "netload" "C : \\ mypath \ \ mydll.dll ")' 어쨌든 빠른 디버깅을위한 대안은 결코 AutoCAD를 종료하지 못할 수도 있습니다 ... (!!).일단 디버깅을위한 프로젝트를 시작하고 중단 점에 도달하면이 시점에서 코드에 작은 수정을 가하고 rstarting을하지 않고도 실행/디버깅을 유지할 수 있습니다. 그러나 런타임에 코드를 다시 작성하는 작업은 섬세한 작업이므로 이상한 예외가있었습니다. Lee Mac 참조 용 – oscar

2

AutoCAD를 정말 신뢰할 수있는 유일한 방법입니다 다시 시작. AutoCAD에서 acaddoc.lsp 또는 다른 응용 프로그램 설정을 사용하는 대신 Visual Studio 프로젝트 설정의 디버그 섹션에서 add a command line argument을 실행하여 script ~ NETLOAD DLL을 AutoCAD를 시작할 때 실행할 수 있습니다. Google AutoCAD script에 대한 자세한 정보는 여기를 클릭하십시오. 그러나이 경우에는 한 줄에 하나의 명령 만 있습니다. http://www.lee-mac.com/scriptwriting.html도 읽을만한 가치가 있습니다. 리 맥은 항상 읽을 가치가있다.

상자가

/b "A:\Full\Path\To\Your\Script\ScriptName.scr" 

같은 ScriptName.scr의 내용을 보여야 명령 줄 인수의 텍스트는

netload "A:\Full\Path\To\Your\DLL\DLLName.dll" 

사용 따옴표를 AutoCAD에서 입력하고 실행 등의 공백을 해석하기 때문에 명령.

+0

... –

0

최신 버전의 AutoCAD에서는 accoreconsole.exe를 사용하여 디버깅 할 수 있습니다. 음, 이것은 AutoCAD의 콘솔 버전이며 그래픽을 표시하지 않습니다. 그러나 다른 목적을 위해서 빠르고 빠릅니다.