《javaEclipse下配置Windchill远程调试 windchill学习笔记.docx》由会员分享,可在线阅读,更多相关《javaEclipse下配置Windchill远程调试 windchill学习笔记.docx(8页珍藏版)》请在三一办公上搜索。
1、javaEclipse下配置Windchill远程调试 windchill学习笔记Tomcat配置 修改Tomcatconfig.properties 找到mode=prod,对比内容,如果没有以下3行,进行追加,同时注释掉mode=prod mode=dev *设置tomcat远程调试* jpdaAddress=8002 /表示要远程调试连接的端口号 jpdaTransport=dt_socket shell中进入Tomcat目录 cd . cd Tomcat 执行以下命令 ant -f config.xml configureScripts #ant -f config.xml -proj
2、ecthelp无用 执行完毕后,打开Tomcat/bin目录下的wttomcat_start.bat,查找以下内容,如果没有则追加 *启用JPDA * rem Un-rem next line to enable debugger attaching to this instance of Tomcat set JAVA_OPTS=%JAVA_OPTS% -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=8002,server=y,suspend=n 重启Tomcat 目的:使本机和target 服务器连接起来 说明:JPDA简介
3、顾名思义,JPDA为Java平台上的调试器定义了一个标准的体系结构。该体系结构包括3个主要组成部分:JVM TI、JDI和JDWP。 JVM TI的全称是Java Virtual Machine Tool Interface,它定义了JVM为了支持调试而必须提供的功能及相应的访问接口。这些访问接口是以本地语言的形式提供的,由JVM负责实现。 不过,JVM TI只是JVM提供的一系列函数,调试器如何调用呢?其实啊,JVM TI的直接客户端并不是调试器,而是一个称为“JPDA back-end”的东东。这个东东应该是属于JVM的一部分,在SUN JRE的bin目录下可以找到jdwp.dll(jdw
4、p.so)的库文件,这就是JPDA back-end的实现。按我理解,JPDA back-end提供了各种访问方式,通过这些方式接收调试器的请求,然后调用JVM TI接口。 JDI的全称是Java Debug Interface,它定义了访问JVM TI接口的高层API,以纯Java语言提供,由JDK实现。调试器直接使用JDI来实现调试的功能。与JPDA back-end相对应,JDI实现的角色就是JPDA front-end。 JDWP的全称是Java Debug Wire Protocol,它定义了JPDA front-end和JPDA back-end之间通讯信息的二进制格式。它定义了调
5、试器和被调试的 Java 虚拟机之间的通信协议。这里首先要说明一下 debugger 和 target vm。Target vm 中运行着我们希望要调试的程序,它与一般运行的 Java 虚拟机没有什么区别,只是在启动时加载了 Agent JDWP 从而具备了调试功能。而 debugger 就是我们熟知的调试器,它向运行中的 target vm 发送命令来获取 target vm 运行时的状态和控制 Java 程序的执行。Debugger 和 target vm 分别在各自的进程中运行,他们之间的通信协议就是 JDWP。这里的通讯信息主要包括两种:调试器发送给JVM的请求信息和JVM发送给调试器
6、的调试信息。 总结一下,调试器 调用JDK提供的JDI实现 (JPDA front-end),经由JDWP协议 ,和JVM自带的JPDA back-end (jdwp.dll, jdwp.so, .)进行通讯。JPDA back-end 通过调用JVM TI接口 ,从而获知调试信息,或发送控制命令。然后,JPDA back-end 将调试信息或命令执行结果,通过JDWP协议 ,返回给调试器 。 -Xdebug 是通知JVM工作在DEBUG模式下 -Xrunjdwp 启用JDWP实现,它包含若干子选项: transport=dt_socket JPDA front-end和back-end之间的
7、传输方法。dt_socket表示使用套接字传输。 address=8000 JVM在8000端口上监听请求。 调试服务器的端口号,客户端用来连接服务器的端口号。 server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。 suspend=y y表示启动的JVM会暂停等待,直到调试器连接上。 suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。 windchill配置 1、修改site.xconf文件 在site.xconf中加入 该方法服务器本身是一个基于Java的Web应用程序。它通过HTTP调用的内容
8、服务器通信。每调用一个方法是时,内容服务器发出HTTP请求传递的Java类的名称,知道如何执行指定的方法的任何一个servlet指定的参数的方法实现。 methodserver 执行对象事务处理的所有方法,根据客户请求动态加载java类,并与数据库直接通信,并进行数据访问控制,客户端访问时间和连接数控制以及进行系统调试等功能。在windchill中被调用的方法运行在MethodServer端 -Xnoagent 表示禁用默认sun.tools.debug调试器。 shell中执行xconfmanager p发布 目的:通过这些配置将windchill的服务器和jvm联系起来。 2、将codeb
9、ase及其子目录下所有的class文件和properties文件打成jar包 2.1、安装并配置WinRAR 虚拟机中安装好WinRAR,修改环境变量path,在后面追加上WinRAR的安装路径, 如:C:Program FilesWinRAR,目的是为了在控制台识别Rar压缩命令 配置完环境变量后需要重启机器。 2.2压缩class文件到codebase1.rar 将codebase下所有的class文件和properties文件(包含子目录)进行打包压缩,最后解压缩到同一目录下,使用jar命令打成jar包,命令如下: 结果 Cd codebase Rar a r codebase1.rar
10、 ms *.class 2.3、压缩properties文件到codebase1.zip 然后继续执行命令,将codebase及其子目录下所有properties文件打包到codebase1.rar Rar a r codebase1.rar ms *.properties 2.4、解压缩codebase1.zip并将其内容打成jar包 解压缩后路径及内容如下 shell,进入codebase目录执行如下命令: jar cvf 91M060.jar C codebase1/ . 注意:后面有个英文逗号,而且和斜线之间有个空格 意为将codebase下的codebase1文件夹里所有文件打包为9
11、1M060.jar 最后结果如下,codebase1.rar可以删掉了。 2.5、将打好的jar包导入到eclipse 的User library Eclipse配置 打开Eclipse-Run-Debug 右键,点击New 1.配置MethodServer的Debug 端口为在site.xconf里配置的8003,host填写Windchill系统主机名 2.配置Tomcat的Debug 端口填8002, Tomcatconfig.properties里配置的。 jsp时使用8002,工作流时使用8003,分别针对tomcat、methodserver;其他版本IDE类似 3.查看Debug
12、 打开Debug视图会看到如下界面 MethodServer会有如下信息 4.运行测试程序 在main方法里编写一段测试程序,点击输入用户名和密码 运行,或者右键程序Run asrun,弹出权限验证窗口,可以看到控制台有Windchill信息输出 至此,所有配置正确结束。 打开菜单,增加内容: 选Debug按钮 会出现Debug布局,双击远程java程序不行。见上图左侧条目。 连接上后methodserver会出现最后一行信息: 1、在文件:wt_homeTomcatconfweb.xml中把development的值改为true 2、重启 一个网址: 1. Windchill API目录:
13、%WCHOME%/codebase/wt/clients/library/api/index.html 2. Windchill管理员手册位置:%WCHOME%/WHC/WEB-INF/volume/xxx.pdf 3. 设置MethodServer 和Servermanager日志可见的方法:修改%WCHOME%/site.xconf文件。搜索method.log, 一般修改过site.xconf文件后,执行xconfmanager -p 使修改的内容生效,运行此命令后相关修改被映射到相应的properties 文件中 4. 设置多语言、国际化,修改rbinfo文件后,执行如下命令: res
14、ourceBuild ext.fire.zhonghua.tableRB 5. 修改web.xml文件 6. 清除Tomcat缓存。删除 Tomcat/work/Catalina 7. 配置数据库连接windchill方法:修改 ./oracle/product/10.2.0/db_1/NETWORK/ADMIN/tnsname.ora 文件 8. 查看windchill数据表中的字段含义: 在Windchill shell中执行 inforeport wt.epm.EPMDocument , 执行命令后在% WCHOME%/temp目录文件夹下会生成 epm.EPMDocument.out
15、文件 9. 修改Apache/conf/extra/app-Windchill-Auth.conf 文件的时候,添加配置项时,要特别注意 AuthName 属性值内容。 . AuthName Windchill AuthType Basic . AuthName属性因系统而异,它没有固定值,修改的时候要依据当前系统的配置做相应的调整。(可以根据其他的配置项内容做参照) 10. 把site.xconf文件中修改的内容分配到相应的property文件中的命令: 在Windchill Shell中执行 xconfmanager -p , 重启系统生效。 11. 将中文字符转化为ASCII码方法: 进入%WCHOME%/bin目录,输入: native2ascii (需要转化的中文字符)