金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第1页共13页K/3组件跟踪工具使用简介�本文档适用于k/3安装调试方面的应用。�学习完本文档以后,可以对K/3组件跟踪工具以及由组件问题引起的程序错误有初步的了解。�2011年06月25日V1.0编写人:孙晓阳�2011年06月30日V2.0编写人:覃海枝�本文件使用须知著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。著作权声明著作权所有2011金蝶软件(中国)有限公司。所有权利均予保留。本期概述版本信息版权信息金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第2页共13页目录第一章K/3组件跟踪工具使用简介.............................................31.1K/3组件简述..........................................................................................................31.1.1中间层组件.................................................................................................31.1.2客户端组件.................................................................................................41.2组件跟踪工具-KDMAINDBG...................................................................................51.2.1KDMAINDBG.EXE工具简介..........................................................................51.2.2使用方法....................................................................................................51.3组件注册...............................................................................................................71.3.1中间层组件的手工注册方法....................................................................71.3.2客户端组件的手工注册方法..................................................................12金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第3页共13页第一章K/3组件跟踪工具使用简介在使用K/3的过程中,经常会遇到组件报错导致程序全部或者部分功能无法正常运行的情况。遇到此类问题,我们应该如何分析呢?K/3从10.2版本开始,金蝶客户端的安装目录中附带了一个功能强大的调试工具,该工具可以跟踪COM+组件的运行情况。下面我们将介绍一下组件跟踪工具的具体应用。1.1K/3组件简述在介绍组件跟踪工具之前,首先需要对K/3软件的各种组件有所了解。K/3系统是一套基于三层结构技术的应用程序,三层结构包括数据库服务器、中间层服务器、客户端三个层次,在K/3系统中的COM组件包括了中间层组件和客户端组件。1.1.1中间层组件K/3中间层组件可以在【控制面板】→【管理工具】→【组件服务】中,进入【组件服务】窗口,展开【组件服务】→【计算机】→【我的电脑】→【COM+应用程序】,这里可以看到很多的COM+组件包,以ebo开头的组件包都是K/3的中间层组件,如图-1所示。图-1com+应用程序中的中间层组件K/3的中间层组件,分COM+组件和非COM+组件两种,接下来将介绍如何区分组件是COM+组件还是非COM+组件。(1)中间层COM+组件在中间层服务器上的%systemdrive%\windows\system32\KDCOM目录下,可以找到一个Mtsspsetup.lst的文件,此文件记录了所有中间层COM+组件的信息;用记事本打开这个文金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第4页共13页件,可以查看到每一个组件包对应的K/3功能模块,也可以查看到每个组件包所包含的dll文件。如图-2所示。图-2组件包中包含的组件(2)中间层非COM+组件在K/3客户端机器的%systemdrive%\ProgramFiles\CommonFiles\Kingdee\K3目录下,可以找到一个K3ComponentInfo.INI的配置信息文件,打开此文件,在[KDMIDDLEWARE_FILE]目录下从FILE1到FILE75都是中间层非com+组件。如图-3所示。图-3中间层非com+组件1.1.2客户端组件客户端组件也可以分为两种。(1)VBR文件在K/3客户端组件中,所有以VBR为后缀名的文件都与中间层COM+组件一一对应,这类文件都是通过DCOM方式调用中间层的COM+组件,即客户端COM组件。(2)DLL和OCX文件K/3客户端组件还有一些是只在客户端运行,不用通过DCOM调用中间层组件的,这类客户端组件可以在我们上面提到的K3ComponentInfo.INI配置文件中,在[KDPRODUCT_FILE]目录下面从FILE1到FILE1031都是K/3客户端非COM组件。如图-4所示。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第5页共13页图-4客户端非com+组件1.2组件跟踪工具-KDMAINDBG1.2.1KDMAINDBG.EXE工具简介K/3从10.2版本开始,其客户端的安装目录中附带了一个功能强大的调试工具-KDMAINDBG.EXE,该工具可以跟踪COM+组件的运行情况。但是在10.2版本之前并没有附带这个工具,需要安装一个K/3性能监控工具来实现相同的功能。1.2.2使用方法组件跟踪工具在%systemdrive%\ProgramFiles\Kingdee\K3ERP目录下,其执行文件的名称是kdmaindbg.exe,启动后系统会提示您进入的是调试版,如图-5所示。图-5跟踪工具点击【确定】后,程序会自动打开K/3主控台的登陆窗口,同时也会开启一个组件跟踪窗口,实时记录当前K/3组件的调用情况,如果有组件出现异常,那么通过它非常方便定位问题并解决问题,另外该工具还跟踪了对象的执行时间,可以用来检测性能数据。如图-6所示。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第6页共13页图-6调出K/3跟踪工具当我们跟踪到有组件出现错误时,会出现一条红色显示的记录,表示该组件调用异常,如图-7所示。图-7查找红色记录出现错误组件之后,我们该如何处理呢,下面我们将介绍具体的处理方法。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第7页共13页1.3组件注册当我们使用K/3组件跟踪工具跟踪处错误组件之后,需要对已经被破坏的组件进行重新注册,使该组件可以正常运行。1.3.1中间层组件的手工注册方法K/3的中间层组件包括COM+组件和非COM+组件,这两类组件的注册方法是不同的。一、中间层COM+组件的注册方法这里将以中间层组件ebsarSystem.dll为例来介绍注册方法。(1)用记事本打开中间层机器C:\ProgramFiles\Kingdee\K3ERP\KDSYSTEM\KDCOM目录下的文件“MtsSpSetup.LST”,搜索ebsarSystem.dll文件名,可以看到该文件属于ebopubilc组件包。如图-8所示。图-8查找报错组件所属组件包(2)打开【控制面板】→【管理工具】→【组件服务】,找到ebopubilc组件包,单击该组件包下的【组件】按钮,可以看到右边出现很多对应的组件,如图-9所示。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第8页共13页图-9ebopublic组件包中的组件(3)右键单击某个组件,选择【属性】,我们可以查看该组件包属于哪个dll文件,如图-10所示。图-10com+应用程序中找到报错组件所属组件包实际上会有多个组件对应同一个dll文件,我们可以看到每个组件的名称都是由两部分组成,中间由点隔开,组件名称的前半部分与其对应的dll文件的名称是一致的。在此例中,我们可以看到有如下组件都对应了ebsarSystem.dll文件,如图-11所示。图-11查找组件所对应的dll文件金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第9页共13页(4)确定了需要重新注册的组件后,即可进行注册操作。在重新注册之前,为避免k3客户端正在使用,造成k3应用的错误,需要先关闭此组件所属的组件包。如图-12操作:图-12关闭组件(5)关闭组件包后,删除所对应的组件。右键点击组件包下面的【组件】文件夹,在弹出的菜单中选择【新建】→【组件】,然后单击下一步,如图-13所示。图-13安装组件包在弹出的界面选择“创建空的应用程序”按钮,如图-14所示。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第10页共13页图-14创建空的应用程序然后选择C:\ProgramFiles\Kingdee\K3ERP\KDSYSTEM\KDCOM目录下的ebsarSystem.dll文件,单击【打开】,如图-15所示。图-15KDCOM文件夹下找到dll文件看到显示该组件文件的信息后,单击下一步,如图-16所示。金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第11页共13页图-16安装组件包点击完成即完成整个注册过程,如图-17所示。图-17完成组件安装二、中间层非COM+组件的注册方法中间层非COM+组件主要包含了DLL和OCX两种格式的文件,DLL和OCX格式的文件用regsvr32.exe进行注册,详细注册方法有以下两种。(1)通过命令行参数进行注册:在开始-运行中,输入:金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第12页共13页C:\WINDOWS\system32\regsvr32.exe文件名,点击【确定】完成注册。如图-18所示。图-18命令注册非com+组件(2)通过打开方式注册。右键单击需要注册的DLL或OCX文件,选择【打开方式】,在【打开方式】中选择C:\WINDOWS\system32\regsvr32.exe,单击【打开】按钮进行注册。如图-19所示。图-19手动打开非com+组件1.3.2客户端组件的手工注册方法一、VBR文件的注册方法VBR文件需使用clireg32.exe这个工具来注册,也有两种方法:(1)通过命令行参数进行注册:在【开始】→【运行】中,输入:C:\WINDOWS\system32\clireg32.exe–d–q–s中间层ip地址或者机器名……\***.vbr,如图-20所示:金蝶知识库文档金蝶软件(中国)有限公司客户服务中心第13页共13页图-20命令注册vbr文件(2)通过打开方式注册:右键点击需要注册的vbr文件,选择【打开方式】,在【打开方式】中选择C:\WINDOWS\system32\system32\clireg32.exe,点击【确定】按钮弹出注册对话框,点击确定后,远程传输选择"DCOM",网络地址输入中间层服务器的机器名或IP地址,协议默认不变,如图-21所示:图-21选择DCOM,输入服务器IP地址二、客户端非com+组件的注册方法客户端非com+组件主要包含DLL和OCX文件,其注册方法参考中间层非com+组件的注册方法。