IntelliJ中的远程调试Wildfly应用程序
远程调试Java应用程序意味着使用本地开发环境连接到远程运行的应用程序。 Java开箱即-agentlib:jdwp[=options]
支持远程调试:目标应用程序必须使用-agentlib:jdwp[=options]
选项执行, -agentlib:jdwp[=options]
选项加载Java调试线协议(jdwp)库,该库允许使用例如套接字连接的远程调试。 在这篇简短的文章中,您将学习如何使用IntelliJ调试部署到Wildfly服务器的Web应用程序。
应用程序
出于演示目的,可以使用一个非常简单的应用程序:它包含一个(入门)JSP文件和一个Java Servlet:
Wildfly应用服务器
在此示例中,您可以使用仅Wildfly Servlet分发。 从这里获取: http : //wildfly.org/downloads/
配置Wildfly进行远程调试
下载并提取服务器后,请执行以下步骤:
- 编辑
WILDFLY_HOME/standalone/configuration/standalone.xml
并将管理控制台的套接字绑定端口从9990
更改为9991
(可以在socket-binding-group
元素中找到)。 使用默认端口设置,您将在运行服务器时看到异常:
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: java.net.BindException: Address already in use: bind /127.0.0.1:9990
- 导航到
WILDFLY_HOME/bin
并使用--debug
参数运行standalone.bat
(Windows)或standalone.sh
(Linux)。 此参数将强制服务器以调试模式运行,从而启用远程调试。 在控制台启动期间,您会注意到传递给JVM
的额外参数:
JAVA_OPTS: "-client -Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"
命令: agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n
加载jwdp
库并在端口8787
上侦听套接字连接。
- 通过将
WAR
文件复制到WILDFLY_HOME/standalone/deployments
来部署应用程序(例如webapp-demo.war
)。 验证应用程序已部署。
IntelliJ中的远程调试Wildfly应用程序
假设应用程序运行正常,请在IntelliJ中打开此应用程序的源代码以对其进行远程调试。 为此,您需要为项目创建一个运行配置。
- 打开
Run > Edit configurations
并添加新配置。 在可用配置列表中找到JBoss
,然后选择Remote
。 如果尚未配置应用程序服务器,请通过将JBoss主页指向您的Wildfly安装目录(WILDFLY_HOME
)进行配置:
- 现在更改配置的一些默认设置并保存。 在
Server
选项卡中将Management port
设置为9991
,在Startup/Connection
选项卡中将Port
设置为8787
以进行Debug
配置:
- 运行调试配置,然后等待IntelliJ连接到Wildfly服务器。
- 在要调试的Java Servlet(例如
MyServlet.java
)或任何JSP文件中设置断点,然后在服务器上执行代码,例如,通过调用有效的Servlet URL。 等待调试器达到断点:
享受IntelliJ中的远程调试Wildfly应用程序!
翻译自: https://www.javacodegeeks.com/2017/06/remote-debugging-wildfly-application-intellij.html
IntelliJ中的远程调试Wildfly应用程序相关推荐
- intellij远程调试_IntelliJ中的远程调试Wildfly应用程序
intellij远程调试 远程调试Java应用程序意味着使用本地开发环境连接到远程运行的应用程序. Java开箱即-agentlib:jdwp[=options]支持远程调试:目标应用程序必须使用-a ...
- 【flink】Flink 使用IntelliJ IDEA 进行远程调试代码
1.概述 转载:Flink 使用IntelliJ IDEA 进行远程调试代码 改文章和 95-070-040-源码-源码调试-FLINK源代码调试方式 重复了. Flink on Yarn 不好调试, ...
- 使用 Eclipse 远程调试 Java 应用程序
转载地址:使用 Eclipse 远程调试 Java 应用程序 远程调试对应用程序开发十分有用.例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序 ...
- pycharm + docker 远程调试容器内程序
pycharm + docker 远程调试容器内程序 一.首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口 启动示例: nvidia-docker run ...
- [免费专栏] ATTACK安全之检测车机中ADB远程调试控制Android系统攻击
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 ATTACK付费专栏长期更新,本篇最新内容请前往: [车联网 ...
- 04-20.eri-test GKE(Google K8S Engine)上的Intellij远程调试Java应用程序
Prepare the docker image 为了调试Java应用程序,我们需要向远程应用程序添加一些命令行参数. 在kubernetes部署有效负载中设置参数 DEBUG_OPTIONS=&qu ...
- VS.net中的远程调试
简介: 我们开发完一个软件后,提交给客户或者放到服务器上执行,如果有问题,我们可以使用远程调试进行发现bug. 这篇文字简单介绍一下远程调试. vs.net远程调试服务 在vs.net的安装目录下,有 ...
- Hadoop 使用IntelliJ IDEA 进行远程调试代码
. 一 .前言 二 .服务器端配置. 2.1. 设置启动远程debug端口 2.2. 具体操作 三 .Idea配置 3.1. 根据报错信息定位到断点所在的位置 3.2. 配置远程连接 3.3. 启动调 ...
- idea远程调试Java应用程序
在启动的程序中加入参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8087 例:java -jar -Xdebu ...
最新文章
- 人类为什么会同情机器人,是否需要禁止虐待机器人
- SpringBoot 之 普通类获取Spring容器中的bean
- 再谈CVE-2017-7047 Triple_Fetch和iOS 10.3.2沙盒逃逸
- error:“ACCESS_MASK”: 不明确的符号
- [转]ECMAScript 6 入门 -编程风格
- android4.2添加重启菜单项
- c#读蓝牙数据_客户端实现蓝牙接收(C#)知识总结
- java integer reverse_Leetcode7 Reverse Integer Java实现及分析
- django 1.8 官方文档翻译: 6-6-4 部署静态文件
- sqlserver 操作技巧
- 安卓rom制作教程_安卓手机TWRP_Recovery卡刷图文教程 适用于卡刷ROM,TWRP救砖
- 关于MAC解决jupyter中出现nbconvert failed/ xelatex not found on path报错
- ora 01033 linux,ORA-01033: ORACLE initialization or shutdown in progres
- Win11将输入法的繁体改为简体
- 神奇的识别图片文字代码
- Mac电脑上如何添加打印机
- 安卓代替苹果的软件_苹果健身可以代替您的健身房或贵宾会员吗
- thinkphp配置mysql集群_ThinkPHP教程_PHP框架之ThinkPHP(五)【连接数据库与主从数据库设置】...
- 计算机表演赛所选赛区,第十六届全国中小学学生计算机表演赛邢台赛区评选结果.doc...
- sqlserver找不到存储过程