阅读量:34
Debian环境下调试WebLogic应用的步骤
1. 准备调试环境
确保已安装以下工具:
- JDK:WebLogic依赖JDK,需提前安装并配置
JAVA_HOME环境变量(通过java -version验证)。 - IDE:推荐使用Eclipse或IntelliJ IDEA(支持远程调试配置)。
- WebLogic Server:已部署目标应用并正常运行。
2. 配置WebLogic远程调试
远程调试需修改WebLogic启动脚本,开启JDWP(Java Debug Wire Protocol)端口。
步骤1:修改启动脚本
WebLogic的启动脚本位于域目录的bin文件夹下(如/opt/weblogic/user_projects/domains/base_domain/bin/setDomainEnv.sh)。
在脚本中添加以下内容(若已存在debugFlag则修改其值为true):
export debugFlag=true
export DEBUG_PORT=8453 # 自定义调试端口(默认8453,需确保未被占用)
或直接在setDomainEnv.sh中添加JVM调试参数(覆盖原有配置):
export JAVA_OPTIONS="$JAVA_OPTIONS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n -Djava.compiler=NONE"
保存脚本并退出。
步骤2:启动WebLogic并验证调试端口
通过命令行启动WebLogic(如./startWebLogic.sh),观察启动日志,确认调试端口已监听:
tail -f /opt/weblogic/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log
若日志中出现Listening for transport dt_socket at address: 8453,说明调试模式已启动。
3. IDE中配置远程调试
以Eclipse为例,步骤如下:
- 打开Debug Configurations(调试配置)。
- 右键选择Remote Java Application→New(新建)。
- 配置以下参数:
- Name:自定义名称(如“WebLogic Debug”)。
- Project:选择包含目标应用的Eclipse项目。
- Connection Type:选择“Standard (Socket Attach)”(标准套接字连接)。
- Host:WebLogic服务器的IP地址(或
localhost,若本地调试)。 - Port:步骤2中设置的调试端口(如
8453)。
- 点击Debug,进入调试视图。
4. 设置断点与调试
- 在Eclipse中打开目标应用的Java文件,点击行号左侧设置断点(红色圆点)。
- 触发应用操作(如通过浏览器访问应用URL、调用API),程序将在断点处暂停。
- 使用调试工具栏(Step Into、Step Over、Resume等)逐步执行代码,查看变量值、调用栈等信息。
5. 日志分析与辅助调试
若远程调试无法解决问题,可通过日志进一步排查:
- WebLogic日志:位于域目录的
logs文件夹下(如server.log、console.log),使用tail -f实时查看错误信息。 - 系统日志:使用
journalctl -u weblogic.server查看WebLogic服务日志,或dmesg查看内核日志。 - 系统资源:使用
top、htop、free -h检查CPU、内存、磁盘使用情况,排除资源瓶颈。
注意事项
- 调试模式下,WebLogic性能会有所下降,建议仅在排查问题时开启。
- 确保防火墙允许调试端口的入站连接(如
iptables -A INPUT -p tcp --dport 8453 -j ACCEPT)。 - 若使用SELinux,需调整SELinux策略允许调试(如
setsebool -P allow_java_debugger on)。