当前位置: 首页 > news >正文

使用 IntelliJ IDEA 配合 Docker 对 Weblogic 中间件进行远程调试

使用idea对jar包远程调试:

打开一个springboot的项目进行远程调试设置:
在这里插入图片描述
运行:
在这里插入图片描述
其实我不太明白远程调试的意义,本地直接debug不好嘛。。。
点击debug的按钮,打断点测试:
在这里插入图片描述
跑到断点处:
在这里插入图片描述

远程debug即对远程部署的内容进行debug,例如我们部署的项目在线上出现问题了,而我们又不知道具体是哪里出现问题,我们就可以使用远程debug进行排查问题。

这里在idea中使用的是localhost,如果我使用的是其他的ip地址,再用其他ip地址下的jar包启动,那么当我访问远程ip下的程序时,此时本地用jar包进行的断点就会生效。就实现了远程debug。

总结
好像感觉远程调试的用处也不是那么大,不能作为长期使用的调试工具。只能作为临时调试的手段。

难点有几个:
1、难保证本地代码和远程一致,而且你也很难判断是否一致
2、通过远程调试发现了bug,但是又不能立即修复后继续调试,只能修复后部署后继续远程调试

对 Weblogic 进行远程调试

进入/weblogic/CVE-2017-10271 文件夹,修改其中的 docker-compose.yml 文件,将 8453 端口打开
在这里插入图片描述
使用 docker-compose 命令 docker-compose up -d 编译镜像并启动容器
在这里插入图片描述
使用 docker exec -it 3d /bin/bash 命令进入容器,使用 vi 修改文件/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh。在图 2-41 所示代码段处添加如下两行代码。

ebugFlag="true" 
export debugFlag

使用 docker restart 命令重启容器,再进入容器,将/root/Oracle/Middleware 文件
夹下的 modules 文件夹和 wlserver_10.3 文件夹使用 zip 命令压缩成 zip 压缩包。容器
中是一个简易的 Linux 系统,需要执行 apt-get install zip 来安装 zip 压缩功能。
在这里插入图片描述
在这里插入图片描述
将该文件移动至一个项目文件中,并使用 IDEA 打开,如图 2-43 所示,选中
w1server_10.3/server/lib 文件和 modules 文件并右键单击,选择“Add as Library…”添加依赖文件。
在这里插入图片描述

如图 2-44 所示,单击 IDEA 右上角的“Add Configurations”按钮,在弹出的选项框中单击左上角的“+”进行“Add New Configurations”操作。然后在下拉框中找到 Remote 选项并单击,进入图 2-45 所示的配置页面,填写端口号为 8453,注意,需要与第一步在 docker-compose.yml 文件中的填写内容保持一致。填写完毕,单击“Apply”按钮应用配置,再单击“OK”按钮关闭配置页面即可。
在这里插入图片描述
在这里插入图片描述

如图 2-46 所示,在 wlserver_10.3/server/lib/weblogic.jar!/weblogic/wsee/jaxws/
WLSServletAdapter.class 的 hadle 方法处设置断点,接着单击右上角的 Debug 按钮(绿
色小虫子图标)运行 Debug 模式。然后使用浏览器访问 http://127.0.0.1:7001/
wls-wsat/CoordinatorPortType,同时查看 IDEA 是否如图 2-47 所示,程序在断点处停。
在这里插入图片描述

相关文章:

使用 IntelliJ IDEA 配合 Docker 对 Weblogic 中间件进行远程调试

使用idea对jar包远程调试: 打开一个springboot的项目进行远程调试设置: 运行: 其实我不太明白远程调试的意义,本地直接debug不好嘛。。。 点击debug的按钮,打断点测试: 跑到断点处: 远程de…...

ArcGIS学习(三)数据可视化

ArcGIS学习(三)数据可视化 1.矢量数据可视化 需要提前说明的是,在ArcGIS中,所有的可视化选项设置都是在“图层属性”对话框里面的“符号系统”中实现的。 对于矢量数据的可视化,主要有四种可视化方式: 按“要素”可视化按“类别”可视化按“数量”可视化按“图表”可视…...

【使用 Python 进行 NLP】 第 2 部分 NLTK

一、说明 Python 有一些非常强大的 NLP 库,NLTK — 自然语言工具包 — NLTK 是一个强大的开源库,用于 NLP 的研究和开发。它内置了 50 多个文本语料库和词汇资源。它支持文本标记化、词性标记、词干提取、词形还原、命名实体提取、分割、分类、语义推理。…...

【软件设计师笔记】深入探究操作系统

【软件设计师笔记】计算机系统基础知识考点(传送门) 💖 【软件设计师笔记】程序语言设计考点(传送门) 💖 🐓 操作系统的作用 1.通过资源管理提高计算机系统的效率 2.改善人机界面向用户提供友好的工作环境 🐓 操作系统的特征 …...

python常用pandas函数nlargest / nsmallest及其手动实现

目录 pandas库 Series和DataFrame nlargest和nsmallest 用法示例 代替方法 手动实现 模拟代码 pandas库 是Python中一个非常强大的数据处理库,提供了高效的数据分析方法和数据结构。它特别适用于处理具有关系型数据或带标签数据的情况,同时在时间序列分析方面也有着出…...

web前端-------弹性盒子(2)

上一讲我们谈的是盒子的容器实行,今天我们来聊一聊弹性盒子的项目属性; *******************(1)顺序属性 order属性,用于定义容器中项目的出现顺序。 顺序属性值,为整数,可以为负数&#xff…...

图论练习4

内容:染色划分,带权并查集,扩展并查集 Arpa’s overnight party and Mehrdad’s silent entering 题目链接 题目大意 个点围成一圈,分为对,对内两点不同染色同时,相邻3个点之间必须有两个点不同染色问构…...

flutter go_router 官方路由(一)基本使用

1 项目中添加最新的依赖 go_router: ^13.1.0如下图所示,我当前使用的flutter版本为3.16.0 然后修改应用的入口函数如下: import package:flutter/material.dart; import package:go_router/go_router.dart;void main() {runApp(const MyApp()); }cla…...

QT中,对于大小端UDP网络发送的demo,帧头帧尾

简单demo: 发送端&#xff1a; #include <QUdpSocket> #include <QtEndian>#pragma pack(1) struct Test {unsigned char t1:1;unsigned char t2:2;unsigned char t3:3;unsigned char t4:2;quint8 a 1;quint16 b 2;quint16 c 3;//double b …...

ip网络的三类地址及其相互关系

随着互联网的普及和发展&#xff0c;IP网络已成为全球范围内最重要的信息交换平台。在IP网络中&#xff0c;IP地址是每个设备在网络中的唯一标识&#xff0c;是实现网络通信的关键。虎观代理小二二将详细介绍IP网络中的三类地址&#xff0c;即A类、B类和C类地址&#xff0c;以及…...

开源计算机视觉库OpenCV详细介绍

开源计算机视觉库OpenCV详细介绍 1. OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它最初由Intel开发&#xff0c;现在由一个庞大的社区维护和更新。OpenCV旨在提供一个通用、跨平台的计算机…...

go消息队列RabbitMQ - 订阅模式-direct

1.发布订阅 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&#xff0c;不能…...

PyTorch 2.2 中文官方教程(十八)

开始使用完全分片数据并行&#xff08;FSDP&#xff09; 原文&#xff1a;pytorch.org/tutorials/intermediate/FSDP_tutorial.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 作者&#xff1a;Hamid Shojanazeri&#xff0c;Yanli Zhao&#xff0c;Shen Li 注意…...

jenkins部署vue项目

首次加载比较慢、需要等待很长时间 到这个页面算是初始化完成了 输入密码路径为 之前设置的路径 可以在文件中找或者 docker logs jenkins 直接安装推荐插件 正在安装中&#xff01;&#xff01; 安装成功后创建管理员账号(一定要记住这个也是登录账号密码) 这里实例配置直接…...

十一、C++核心编程(2)引用

一、引用的基本使用 作用: 给变量起别名语法: 数据类型 &别名 原名 #include<iostream> #include<string.h> using namespace std;int main() {//引用基本语法//数据类型 &别名 原名int a 10;//创建引用int &b a;cout << "a "…...

numpy学习总结二

单词发音&#xff1a; squeeze 发音&#xff1a;死贵子 concatenation [kɒnˌktəˈneɪʃən] 拼接;串联 threshold [θreʃhəʊld] 死re后的 quantile 拷n太哦 分位数 因果不能改 智慧不能赐 正法不可说 无缘不能度 天雨虽宽不润无根之草&#xff1b;佛法虽广不度无缘之人 …...

3 编辑器(Vim)

1.完成 vimtutor。备注&#xff1a;它在一个 80x24&#xff08;80 列&#xff0c;24 行&#xff09; 终端窗口看起来效果最好。 2.下载我们提供的 vimrc&#xff0c;然后把它保存到 ~/.vimrc。 通读这个注释详细的文件 &#xff08;用 Vim!&#xff09;&#xff0c; 然后观察 …...

C/C++ (stdio.h)标准库详解

cstdio,在C语言中称为stdio.h。该库使用所谓的流与物理设备&#xff08;如键盘、打印机、终端&#xff09;或系统支持的任何其他类型的文件一起操作。 在本文将会通过介绍函数参数&#xff0c;举出实际的简单例子来帮助大家快速上手使用函数。 目录 一、流 二、库函数 1、F…...

深度学习介绍

对于具备完善业务逻辑的任务&#xff0c;大多数情况下&#xff0c;正常的人都可以给出一个符合业务逻辑的应用程序。但是对于一些包含超过人类所能考虑到的逻辑的任务&#xff0c;例如面对如下任务&#xff1a; 编写一个应用程序&#xff0c;接受地理信息、卫星图像和一些历史…...

ywtool dhcp命令

一.dhcp功能介绍 就是通过脚本实现dhcp地址池的增、删、改、查这几个功能日志文件路径: /var/log/ywtools/ywtool-dhcp.log/usr/local/ywtools/config/config.ini中account参数(ywtool dhcp这个命令用的,但是这个命令只能配置1个地址池,所以这里面的参数没什么意义) 二.配置…...

跳棋游戏中的多重捕获实现

跳棋(Checkers)是许多棋类爱好者喜爱的一款游戏,它的规则简单,但策略深度却非常丰富。今天我们来讨论跳棋游戏中的一个复杂而有趣的功能——多重捕获的实现。在本文中,我们将深入探讨如何在JavaScript中编写一个可以检测并执行多重捕获的函数。 基本概念 在跳棋游戏中,…...

如何让QQ音乐下载的加密歌曲在任何设备上自由播放?qmcdump解密工具深度解析

如何让QQ音乐下载的加密歌曲在任何设备上自由播放&#xff1f;qmcdump解密工具深度解析 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/q…...

Qwen3-Reranker-0.6B部署实战:从零开始到成功调用

Qwen3-Reranker-0.6B部署实战&#xff1a;从零开始到成功调用 1. 认识Qwen3-Reranker-0.6B 1.1 模型核心能力 Qwen3-Reranker-0.6B是Qwen家族最新推出的文本重排序模型&#xff0c;专为提升文本检索质量而设计。这个0.6B参数的模型虽然体积适中&#xff0c;但在多语言文本排…...

DeepSeek-OCR-2实战:精准提取合同条款,自动生成结构化法律文书

DeepSeek-OCR-2实战&#xff1a;精准提取合同条款&#xff0c;自动生成结构化法律文书 1. 法律文书处理的痛点与解决方案 法律从业者每天都要处理大量合同、协议、判决书等文书材料。这些文档往往存在以下典型问题&#xff1a; 格式混乱&#xff1a;扫描件倾斜、模糊、双栏排…...

C++ STL 容器扩容与内存分配机制

C STL容器作为现代C编程的核心组件&#xff0c;其高效的动态内存管理机制一直是开发者关注的焦点。当vector需要容纳更多元素时&#xff0c;它是如何优雅地扩展容量的&#xff1f;unordered_map又是如何平衡哈希冲突与内存消耗的&#xff1f;本文将深入剖析STL容器扩容与内存分…...

忍者像素绘卷部署教程:Ubuntu 22.04+PyTorch 2.1环境完整搭建步骤

忍者像素绘卷部署教程&#xff1a;Ubuntu 22.04PyTorch 2.1环境完整搭建步骤 1. 环境准备与系统要求 在开始部署忍者像素绘卷之前&#xff0c;请确保您的系统满足以下最低要求&#xff1a; 操作系统&#xff1a;Ubuntu 22.04 LTS&#xff08;推荐&#xff09;或更高版本显卡…...

2026 电商开源系统选型指南:4 套主流方案对比 + 避坑技巧

随着电商业务场景的多元化发展&#xff0c;开源商城系统的选型直接决定项目的稳定性、迭代效率与长期扩展性。2026 年市面上活跃的电商系统在技术架构、功能覆盖、开源程度上差异显著&#xff0c;盲目选择易导致后期架构重构、功能受限等问题。本文从 技术栈适配、并发支撑、多…...

2026年服装收银软件选型指南:五大功能决定门店提效与增长

很多服装门店都遇到过这样的困境&#xff1a;网络波动导致无法收款&#xff0c;眼睁睁看着顾客放下衣服离开&#xff1b;促销规则设置不到位&#xff0c;收银时算错优惠引发客诉&#xff1b;活动结束了&#xff0c;线上线下数据对不上&#xff0c;投入的钱看不到效果。这些问题…...

从Simulink仿真到硬件实现:DAB双有源全桥的PID参数‘手感’如何传递?

从虚拟到现实&#xff1a;DAB双有源全桥PID参数迁移实战指南 当你在Simulink中看到完美的DAB动态响应波形时&#xff0c;那种成就感就像解开一道复杂的数学题。但现实往往给你当头一棒——同样的PID参数烧录到DSP后&#xff0c;示波器上的波形却像喝醉了一样东倒西歪。这不是你…...

Keepalived实战:用MySQL主从高可用方案解决你的数据库单点故障

Keepalived与MySQL主从架构&#xff1a;构建零宕机数据库高可用方案 当数据库成为业务系统的核心支柱时&#xff0c;单点故障可能意味着灾难性的业务中断。我曾亲历一次凌晨3点的数据库故障&#xff0c;整个电商平台瘫痪两小时&#xff0c;损失超过七位数。这次教训让我深刻认识…...