COGNOS10的Eclipse远程调试

                                     COGNOS10的Eclipse远程调试

 

        我们有时候需要针对cognos做一些二次开发,开发过程那么就当然需要调试。下面是关于调试的具体方法:

 

1. 在eclipse中创建项目,写好代码,编译。

 

2. 编译完成后,右键选择工程,导出为jar文件。

 

3. 将导出的jar文件复制到cognos_install\webapps\p2pd\WEB-INF\lib下(此时注意不要打开Cognos配置页面)。

 

4. 打开Cognos配置页面,加载jar文件。

 

5. 修改Cognos名称空间是否允许匿名访问改为False,如下图:

 

6.  配置自定义名称空间

 

名称设置为java工程名,类型选择"自定义Java提供程序",名称空间标示符设置为java工程名,java类名称为工程下对应JDBCSample的路径: com.cognos.authentication.jdbc.JDBCSample,是否可选择用于身份验证选择True。

 

具体配置如下:

测试名称空间:

保存Cognos配置。

 

7. 找到cognos安装目录\c10\bin下面的startup.bat文件,这个就是cognos服务的批处理文件。然后复制一份为debug.bat,找到其中rem set DEBUG_OPTS=-Xdebug -Xnoagent-Xrunjdwp:transport=dt_socket,address=9091,server=y,suspend=y -Djava.compiler=NONE

把前面的rem去掉,保存。

 

8. 停止cognos服务,然后在命令行下运行debug.bat,这个时候cognos服务在等待调试的指令。cognos服务启动比较慢,可能要稍等几分钟。

 

9. 在eclipse中选中项目,然后右键选择的DebugAs-->Debug Configurations,打开debug的配置窗口。

 

10 . 在Remote Java Application中新建一个远程调试,具体配置如下图:

Project选择要调试的源码项目,Host填要远程调试机器的IP地址,端口号为9091。

如果选择 Allow termination ofremote VM 选项,即当你打上这个钩时,eclipse调试视图终止远程虚拟机的停止按钮可用。

 

11. 选择Apply,最后点击Debug,这时cognos的服务就启动起来了。然后在代码指定的地方设置断点,并点击cognos页面让程序运行到断点位置就可以debug了。如下图:

 

如果debug启动报错:Failed to connect to remote VM. Connection timed out.

org.eclipse.jdi.TimeoutException。如下图:

 

这时可以将debug timeout参数设置稍微大点,如下图:

         

        本教程有个不好的地方就是,每次更新代码都需要重新打jar包,放到cognos指定目录运行,这样比较繁琐。我尝试不放置jar包直接debug,页面会出错。或者不更新jar包debug,程序会按照jar包的代码运行。不知道有没有更好的方法...

你可能感兴趣的:(COGNOS10的Eclipse远程调试)