C# 有没有更快的方法调试ObjectARX应用程序?
为了调试ObjectARX应用程序,每次调试尝试时都会从Visual Studio IDE中启动一个Autocad实例 这会产生长时间的浪费,等待Autocad加载。因此,我的问题是:C# 有没有更快的方法调试ObjectARX应用程序?,c#,vb.net,debugging,autocad,objectarx,C#,Vb.net,Debugging,Autocad,Objectarx,为了调试ObjectARX应用程序,每次调试尝试时都会从Visual Studio IDE中启动一个Autocad实例 这会产生长时间的浪费,等待Autocad加载。因此,我的问题是: 是否有办法在调试会话之间保持Autocad打开?或者 是否可以像COM应用程序处理互操作对象/命令那样,编写一个连接到打开的Autocad实例并使用其ObjectARX对象/命令的独立.EXE应用程序?这些方法的调试速度也会快得多 与任何进程外应用程序一样,最后一个应用程序的执行速度较慢,但为了修改代码和调试
- 是否有办法在调试会话之间保持Autocad打开?或者
- 是否可以像COM应用程序处理互操作对象/命令那样,编写一个连接到打开的Autocad实例并使用其ObjectARX对象/命令的独立.EXE应用程序?这些方法的调试速度也会快得多
编辑:虽然非常可取,但在这种情况下不适用,因为它不允许调试。我想不出一种方法。我要做的唯一一件事就是加快速度(稍微加快),就是使用AutoCAD的Autoloader选项,并将“生成输出路径”设置为此文件夹 这样,我就不需要每次调试时都通过网络加载构建的Dll 干杯,
Alain重新启动AutoCAD确实是唯一可靠的方法。您可以/应该在Visual Studio项目设置的“调试”部分中,在AutoCAD启动时运行到
NETLOAD
DLL,而不是在AutoCAD中弄乱acaddoc.lsp或任何应用程序设置。如果您愿意的话,可以在这方面获得更多资源,但在本例中,这只是一行中的一个命令。也值得一读。李麦克总是值得一读
“命令行参数”框中的文本应类似于
/b "A:\Full\Path\To\Your\Script\ScriptName.scr"
ScriptName.scr的内容
netload "A:\Full\Path\To\Your\DLL\DLLName.dll"
使用引号是因为AutoCAD会将任何空格解释为Enter并运行命令。对于较新版本的AutoCAD,您可以选择使用AccoronSole.exe进行调试。这是AutoCAD的控制台版本,不会显示任何图形。但它在其他方面又快又好。谢谢@Alain。对于自动加载,我编辑(或创建)文件“[Autocad path]\Support\acaddoc.lsp”并添加一行,例如:
(命令“netload”“C:\\mypath\\mydll.dll”)
无论如何,快速调试的替代方法可能是永远不要退出Autocad。。。(!!). 我的意思是,一旦启动项目进行调试并遇到断点,此时您就有机会对代码进行小的修改,并在不重新启动的情况下继续运行/调试。然而,我遇到了一些奇怪的异常,也许在运行时重建代码是一个微妙的操作。