在插件开发中如果是表单插件,可以用this.View.ShowMessage弹出消息输出运行结果来进行调试,但是服务插件不支持弹出消息框,如果又不能在程序代码中做断点调试,那只能采用throw new Exception(msg)主动抛出错误、利用错误消息来进行调试,这样的调试就显得非常狼狈。
另外,以前插件开发中非常纠结如何获取单据头、单据体里的字段信息,要一个个去查标识名或实体名,如果可以断点调试,那么表头表体结构就会能轻松获取到,字段信息提取就简单的多。
因此,代码断点调试在插件开发中就显得非常重要,以下是在用VisualStudio插件开发中做断点调试的关键步骤:
1、首先金蝶运行的服务器和VS开发调试环境必须处于一台电脑上;
2、插件DLL编译好后要拷贝到金蝶网站的..\website\bin路径下;
3、BOS平台里要在单据列表或者操作列表里配置好插件;
(2、3两点也是正常插件开发配置的必要步骤,调试与否都要做)
4、在VS里调试语句上打上断点标记,并在菜单“调试”-“附加到进程”里附加到w3wp.exe进程上,开始调试。
(1)如果有多个w3wp.exe进程的,要附加到应用程序池是k3cloud的那个PID;
(2)打开cmd命令行,输入c:\windows\system32\inetsrv\appcmd list wp 命令,可以看到所有进程上的应用程序池,如上图;
5、运行金蝶客户端,点击已配置好插件的按钮或菜单,会自动跳转到VS里断点的地方;
断点调试就可以看到e.DataEntitys里的表头和表体信息,抓取数据就成了 a piece of cake !
6、以上步骤其实不复杂,但是对于新手来说可能缺了任意一环都会造成调试失败,常常断点处会显示“当前不会命中断点,还没有为该文档加载任何符号”,按上述方法操作就再也不会有此烦恼了!
以上调试环境:windows10 + vs2019 +云星空8.1版
推荐阅读