金蝶知识库文档组件跟踪工具使用方法本文档适用于K/315.1所有模块本文档针对组件跟踪工具进行讲解,通过本文档的学习可以了解一般的组件类报错问题2020年7月11日V1.0编写人:田晓鑫2020年7月11日V2.0修改人:本文件使用须知著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。著作权声明著作权所有20XX金蝶软件(中国)有限公司。所有权利均予保留。金蝶软件(中国)有限公司客户服务中心第1页共18页本期概述版本信息版权信息金蝶知识库文档目录1.组件跟踪工具简介(KDMainDBG.exe).........................................32.使用KdmainDBG.exe跟踪的几种常见报错类型..................................32.1ActiveX部件不能创建对象................................................................................................32.2Automation错误....................................................................................................................32.3定义的应用程序或对象错误................................................................................................42.4未设置变量orwithblock变量...............................................................................................43.组件跟踪操作方法..........................................................43.1报错跟踪...............................................................................................................................43.2重新注册...............................................................................................................................63.2.2个别客户端报错..............................................................................................................133.2.3报错情况处理...................................................................................................................17金蝶软件(中国)有限公司客户服务中心第2页共18页金蝶知识库文档1.组件跟踪工具简介(KDMainDBG.exe)K/3从10.2版本开始,其客户端的安装目录中附带了一个功能强大的调试工具:KDMAINDBG.EXE。该工具可以跟踪COM+组件的运行情况,但在V10.2版本之前并没有附带这个工具,可安装一个K/3性能监控工具来实现相同的功能;文件的路径是在……\Kingdee\K3ERP目录下,其执行文件的名称是kdmaindbg.exe。如何找到kdmaindbg的快捷方式。在win7之后的操作系统可以右键桌面金蝶k/3wise图标,选择【打开文件位置】直接到K3ERP文件夹下搜索打开。2.使用KdmainDBG.exe跟踪的几种常见报错类型2.1ActiveX部件不能创建对象图-1报错类型12.2Automation错误图-2报错类型2金蝶软件(中国)有限公司客户服务中心第3页共18页金蝶知识库文档2.3定义的应用程序或对象错误图-3报错类型32.4未设置变量orwithblock变量图-4报错类型43.组件跟踪操作方法3.1报错跟踪首先,右键桌面金蝶k/3wise图标,选择【打开文件位置】直接到K3ERP文件夹下搜索【kdmaindbg】,然后右键以管理员身份运行,打开后会提示“您使用的是k/3调试版本!”。如图-5、6所示。金蝶软件(中国)有限公司客户服务中心第4页共18页金蝶知识库文档图-5组件跟踪工具图-6组件跟踪工具打开界面点击【确定】后,程序会自动打开K/3主控台的登陆窗口,同时也会开启一个组件跟踪窗口,实时记录当前K/3组件的调用情况,如果有组件出现异常,那么通过它非常方便定位问题并解决问题,另外该工具还跟踪了对象的执行时间,可以用来检测性能数据。如下图所示。常常会出现打开没有反应或者报错请关闭数据执行保护:打开开始-运行-cmd。输入bcdedit.exe/set{current}nxalwaysoff回车。重启电脑再打开工具。如图-7所示。图-7出现登录客户端主控台界面在出现的登录界面登录,然后操作到报错的地方,报错出现后,点击【确定】,然后查看跟踪工具界面;当我们跟踪到有组件出现错误时,会出现一条红色显示的记录,表示该组件调用异常,注意下图中的两个组件红色可以忽略。金蝶软件(中国)有限公司客户服务中心第5页共18页金蝶知识库文档图-8组件跟踪界面-可忽略组件其他的红色标志则是跟踪到的问题组件,一般只需要以第一个“.”前的英文名称为组件名。图-9一般组件跟踪报错界面示例则此问题组件名称为“EBSDataflow.xxx”,xxx是此组件的类型,那我们接下来介绍如何根据组件类型来重新注册组件。3.2重新注册情况1:服务器和客户端都报错如果是服务器上也报错,那么需要首先在服务器上重新注册组件,一般的服务器报错会带动所有客户端都报错,服务器正常了,客户端也就正常了。当我们想要将跟踪到的组件重新注册的时候,就需要知道这个组件是什么类型的,才能使用正确的方式来注册。k/3的组件有:(1)COM+组件:*.dll和*.vbr文件服务器:可在Mtsspsetup.lst查看文件列表,文件类型为*.dll客户端:可在Kdcom.cfg查看文件列表,文件类型为*.vbr,vbr与dll一一对应金蝶软件(中国)有限公司客户服务中心第6页共18页金蝶知识库文档图-10中间层COM+组件图-11中间层COM+组件(纵向)红色框里的是中间层COM+组件,可在Mtsspsetup.lst查看文件列表;确定了需要重新注册的组件后,即可进行注册操作。在重新注册之前,为避免k3客户金蝶软件(中国)有限公司客户服务中心第7页共18页金蝶知识库文档端正在使用,造成k3应用的错误,需要先关闭此组件所属的组件包。关闭组件包后,删除所对应的组件;然后再重新注册。注册方法:(1)工具注册方法:使用中间层组件注册工具注册:注意此工具是重新注册所有中间层COM+组件,注册之前需要先将COM+应用程序里的ebo开头的组件包和加密组件kdsvrmgr删除,然后再运行中间层组件注册工具。(2)手动注册方法:这里将以中间层组件EBSDataFlow.dll为例来介绍注册方法。首先确认到此组件属于哪个ebo组件包,需要到Mtsspsetup.lst查看图-12中间层COM+组件列表查找操作此时可以看到该组件属于ebopublic组件包①直接拖入法:我们在k/3安装路径下(右键桌面金蝶k/3wise图标,选择【打开文件位置】直接到K3ERP文件夹下)搜索找到此组件,将其拖入【控制面板—管理工具—组件服务—计算机—我的电脑—COM+应用程序—ebopublic】双击打开【组件】,将其拖到此处即可完成注册。金蝶软件(中国)有限公司客户服务中心第8页共18页金蝶知识库文档图-13中间层COM+组件重新注册方法②新建组件法:右键点击组件包下面的【组件】文件夹,在弹出的菜单中选择【新建】→【组件】,然后单击下一步,如图,图-14至图-19为注册步骤。图-14新建组件金蝶软件(中国)有限公司客户服务中心第9页共18页金蝶知识库文档图-15选择【安装新组件】,然后点击【下一步】。金蝶软件(中国)有限公司客户服务中心第10页共18页金蝶知识库文档图-16从弹出的窗口找到K3安装路径下的…K3ERP/KDSYSTEM/KDCOM下查找你要注册的文件。图-17选择组件后,点击“打开”,界面显示如下。金蝶软件(中国)有限公司客户服务中心第11页共18页金蝶知识库文档图-18注册完成的界面如下:图-19至此,组件注册完毕。(2)非COM+组件:*.dll和*.ocx文件可在K3ComponentInfo.INI查看文件列表金蝶软件(中国)有限公司客户服务中心第12页共18页金蝶知识库文档中间层非COM+组件主要包含了DLL和OCX两种格式的文件,DLL和OCX格式的文件,如果在COM+组件列表里查询不到,则到K3ComponentInfo.INI查询,如果有,则是非COM+组件。注册方法,以组件Ledger50.ocx为例。通过命令行参数进行注册:在开始-运行中,输入:regsvr32+空格+将此组件拖入,点击【确定】即可完成注册。图-20非COM+组件注册方法或者以管理员身份运行打开cmd命令提示符,在里面输入同样命令回车也可注册。还有一种所有非COM+组件批注册的方法:执行两个批处理文件即可。图-21非COM+组件批处理注册方法(3)程序/服务文件“*.exe”注册方式以实际程序为准。金蝶软件(中国)有限公司客户服务中心第13页共18页金蝶知识库文档3.2.2个别客户端报错如果是单台客户端报错,那么我们只需要在此客户端上跟踪,只需要在此客户端上重新注册客户端组件,客户端组件分为:COM+组件和非COM+组件。COM+组件注册方法:COM+组件的文件类型为*.vbr,与中间层COM+组件的*.dll一一对应。vbr组件的注册方式:通过命令行参数注册:在开始-运行中,输入:clireg32+空格+将此组件拖入,点击【确定】即可完成注册;图-22客户端COM+组件注册方法或者通过打开方式注册:右键点击需要注册的vbr文件,选择【打开方式】,在【打开方式】中选择C:\WINDOWS\system32\clireg32.exe,点击【确定】按钮弹出注册对话框,点击确定后,远程传输选择"DCOM",网络地址输入中间层服务器的机器名或IP地址,协议默认不变;64位操作系统要选择C:\Windows\SysWOW64\clireg32.exe来注册;下面以Windowsserver2016系统来演示一下:(图-23至图-29为注册步骤)金蝶软件(中国)有限公司客户服务中心第14页共18页金蝶知识库文档图-23图-24金蝶软件(中国)有限公司客户服务中心第15页共18页金蝶知识库文档图-25图-26金蝶软件(中国)有限公司客户服务中心第16页共18页金蝶知识库文档图-27图-28图-29这样即可完成注册;客户端非COM+组件注册方式:客户端非com+组件主要包含DLL和OCX文件,其注册方法参考中间层非com+组件的注册方法。金蝶软件(中国)有限公司客户服务中心第17页共18页金蝶知识库文档3.2.3报错情况处理图-30是由于63位系统直接使用开始-运行注册有时会提示,这时就需要使用打开方式选择syswow64下的clireg32.exe来注册;图-31这种情况是由于系统用户权限不足,导致注册权限不够引起的,需要切换管理员权限的用户后再注册。至此,我们的组件异常操作就基本覆盖,本文档适合一般的管理员和有一定IT基础的人员进行学习。金蝶软件(中国)有限公司客户服务中心第18页共18页