使用express版本调试objectarx程序
www.dimcax.com
使用express版本调试objectarx程序
debugging using express editions
most of our desktop products support a "plug-in" model of development: you create a dll (which may or may not be renamed with a number of extensions, such as dbx or arx) which gets loaded into the calling executable's memory space. this allows the process to share memory with the loaded modules, improving performance over the more archaic ipc (inter-process communication)-based architectures.
[here begins retracted information...]
while visual c++ express edition supports debugging dll projects using an external executable, visual c# express and visual vb.net express editions do not. when developing with our products it is extremely common to launch an external executable (for instance autocad's executable, acad.exe), which in turn loads your class module/dll into its memory space, allowing you to step through the code, watching the contents of variables and all the good stuff that comes with a professional debugging tool.
this essentially means these two tools (visual c#/vb.net express editions) are crippled when it comes to doing serious development work with a plug-in architecture such as autocad's. visual c++ express edition, on the other hand, apparently allows you to debug dll projects fully.
[end of retracted information.]
ok - i'm adding some information to this post... the paragraphs above belonged to my initial post, and aren't strictly true. thanks to ray mendoza for raising this issue.
while at first you think "ok, great - let me just add in acad.exe and have it as the startup object", when you come to modify the project settings, there's no easy way to do it. you may be able to add in a separate exe project to debug, but we don't have or need that for a pre-built exe such as autocad.
so what can we do? well, it turns out that all you need to enable debugging in visual basic express edition is a separate file in the project folder, called "myprojectname.vbproj.user". this contains the user-specific project settings for the myprojectname project. in my test i used the default project name for a class library, and so the file was called "classlibrary1.vbproj.user" and in the same folder as "classlibrary1.vbproj". here are the contents of that file: