如何远程debug部署到widefly/JBoss服务器上的J2EE程序
2016-05-25 16:30
381 查看
一般来说,当我们的J2EE软件最终部署到服务器之后,就会和我们的本地开发环境有很大的不同:
服务器上的widefly或Jboss一般都是运行在JRE上,而不是本地开发环境的JDK
服务器上的widefly或Jboss都是运行的domain mode而不是本地开发环境的standalone mode
因此,当你的J2EE程序在服务器上出现很难在本地复现的问题时,我们是很需要在一个远程调试的方法。下面的一个可行的方法:
Prepare JDK
Sent to Lab
Install it
rpm -ivh jdk-7u80-linux-x64.rpm
Start up server with debug mode
Update host.xml
vim /jboss-eap/domain/configuration/host.xml, add option "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787"
注意,这一步很关键,因为当Widefly或Jboss在domain mode启动的时候,我们要debug是app本身(运行在host上),而不是host controller
Update domain.sh
vim /jboss-eap/bin/domain.sh (JAVA="/usr/java/jdk1.7.0_80/bin/java"), 让Jboss在JDK上启动
23/05/2016 13:54 - Screen Clipping
Restart jboss
Configure Idea remote debug
这时,你就应该能连上JBOSS并远程Debug了
服务器上的widefly或Jboss一般都是运行在JRE上,而不是本地开发环境的JDK
服务器上的widefly或Jboss都是运行的domain mode而不是本地开发环境的standalone mode
因此,当你的J2EE程序在服务器上出现很难在本地复现的问题时,我们是很需要在一个远程调试的方法。下面的一个可行的方法:
Prepare JDK
Sent to Lab
Install it
rpm -ivh jdk-7u80-linux-x64.rpm
Start up server with debug mode
Update host.xml
vim /jboss-eap/domain/configuration/host.xml, add option "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787"
注意,这一步很关键,因为当Widefly或Jboss在domain mode启动的时候,我们要debug是app本身(运行在host上),而不是host controller
Update domain.sh
vim /jboss-eap/bin/domain.sh (JAVA="/usr/java/jdk1.7.0_80/bin/java"), 让Jboss在JDK上启动
23/05/2016 13:54 - Screen Clipping
Restart jboss
Configure Idea remote debug
这时,你就应该能连上JBOSS并远程Debug了
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- Linux 自检和 SystemTap
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- JDK动态代理VS CgLib
- jenkins------部署项目到jboss eap下
- Ubuntu 安装 JDK 问题
- Jboss 5启动后只能从本机访问,不能从远程访问的解决办法
- Python 七步捉虫法
- 利用开源软件打造自己的全功能远程工具
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例