相关文章推荐
听话的香菜  ·  Laravel 10 - PHP 8.2 ...·  11 月前    · 
想出家的海龟  ·  visual-studio-code ...·  1 年前    · 
无聊的松鼠  ·  使用DBT的物化视图与表·  1 年前    · 

CAD.net开发链式加载DLL调试方法

上一篇: 小鱼喂大鱼:CAD.net开发动态加载dll 写了如何制作链式加载dll的项目,本章介绍下如何使用和调试

方法1

高版本cad的话,利用[主插件项目]来调试启动cad, Cad命令行输入"NETLOAD"加载主插件;

然后命令行输入“HotLoading_dll”将[次插件项目]的dll动态加载进来,

在cad上面敲调试的命令,

恰逢你此时vs有开[次插件项目]就会捕捉到上面的.cs文件,

如果没有开,vs会弹出这个对话框让你找代码文件,就选中cs文件就好了.

它就会击中断点了!!

这里的原理是vs会将所有代码文件缓存在一个储存区,然后通过储存区找.

一旦接受这个设定,请看下一个方法.

方法2

直接启动cad(不调试),

[主插件项目]的dll用netload(或者注册表)加载到cad,再通过它把[次插件项目]的dll用动态加载,

Cad命令行输入"NETLOAD"加载主插件;

然后命令行输入“HotLoading_dll”将[次插件项目]的dll动态加载进来,

此时[次插件项目]的dll已经通过字节码加入在托管内存了.(脱钩了)

然后在[cad次插件]的vs工程上面,选择附加进程调试Ctrl+Alt+P, 选择cad附加..

即使当前的dll已经脱钩了,但是仍然可以让vs链接上对应的文件来调试...

其中的原理是vs会检索具有相同GUID的文件?

我也没有懂为什么.....明明代码文件是属于无关的了....高版本却可以连接到,低版本就连接不到.......


文章引用自 cad.net dll动态加载之后如何调试

发布于 2021-08-11 21:47