#1 调试服务端
##1.1 下载

##1.2 安装

  • windows
    • 打开对应的setup.exe文件,下一步到底
    • 例如:mingyue-debug-server-win-x86_64-setup.exe
  • linux
    • 解压对应的setup.zip文件到指定目录
    • 例如:unzip -o -d mingyue-debug-server mingyue-debug-server-linux-x86_64-setup.zip

##1.3 启动

  • windows
    • 打开桌面快捷键
    • 例如:mingyue-debug-server-x86_64
    • 例图:blockchain
  • linux
    • 执行解压目录下的run.sh
    • 例如:
      • cd mingyue-debug-server/
      • sh run.sh

##1.4 停止

  • windows
    • 鼠标右键单击任务栏带D字母的图标,选择退出
    • 例图:blockchain
  • linux
    • 执行解压目录下的stop.sh
    • 例如:
      • cd mingyue-debug-server/
      • sh stop.sh

##1.5 是否更新

  • windows
    • 双击任务栏带D字母的图标,会弹出关于对话框,提示是否需要更新版本
    • 例图:blockchain
    • 例图:blockchain
  • linux
    • 启动时查看日志
    • 例如:
      • cd mingyue-debug-server/logs
      • tail -f output.####-##-##.log
      • 07-28 13:59:06.169 [Thread-12] INFO today.mingyue.d.c - 明月调试服务 版本:1.001 最新版本:1.002

  • 明月客户端-【mingyue-pc】
    • 客户端 启动 调试服务端时 也会提示 是否需要更新 操作
    • 例图:blockchain

#2 客户端
##2.1 下载

##2.2 安装

  • windows;
    • 打开对应的setup.exe文件,下一步到底
    • 例如:mingyue-pc-win-x86_64-setup.exe

##2.3 启动

  • windows
    • 打开桌面快捷键
    • 例如:mingyue-pc-win-x86_64
    • 例图:blockchain

##2.7 登录

  • windows
    • 登录界面
    • 例图:blockchain
    • 支付宝二维码登录 , 点击图片的中的支付宝二维码,出现有支付宝扫描
      • 设置密码,扫码登录成功后会立即提示修改密码
      • 例图:blockchain
      • 登录账号查看,在扫码登录后立即生成登录账号
      • 例图:blockchain
    • 微信二维码登录(暂不支持)
    • 账号登录
    • 例图:blockchain

##2.4 停止

  • windows
    • 鼠标右键单击任务栏的蓝色图标,选择退出
    • 例图:blockchain

##2.5 更新

  • windows
    • 客户端启动后,会检查版本号,如果有新版本,就会弹出更新对话框,只要弹出更新对话框就是必须要更新的
    • 例图:blockchain

##2.8 配置调试节点

  • windows
    • 打开主面板
    • 例图:blockchain
    • 打开自己的聊天窗口
    • 例图:blockchain
    • 点击调试小虫子图标
    • 例图:blockchain

##2.8.1 购买

  • windows
    • 点击购买图标
    • 例图:blockchain
    • 查看购买列表 ,有购买的、有赠送的,第一次可以选择赠送
    • 例图:blockchain
    • 查看订单列表
    • 例图:blockchain
    • 点击使用订单
    • 例图:blockchain
    • 查看用订单列表
    • 例图:blockchain
    • 图中标题显示是虚拟机的使用天数 ,可以再重新选择购买调试服务器,最终如下图
    • 例图:blockchain
    • 之后就可以增加调试节点了

##2.8.2 管理节点

  • windows
    • 在管理节点之前需要先购买 虚拟机和调试服务端时长,在调试面板空白处单击鼠标右键,弹出管理菜单
    • 例图:blockchain
    • 管理菜单分类
    • 例图:blockchain

##2.8.2.1 编辑分组节点

  • windows
    • 空白处,单击右键,选择菜单的【新增】
    • 节点类型选择分组,输入名称,点击确定,多增加几个分组
    • 例图:blockchain
    • 例图:blockchain
    • 选择菜单的【编辑】【删除】,进行相应的操作

##2.8.2.2 编辑调试服务端节点

  • windows
    • 选中一个分组,单击右键,选择菜单的【新增】
    • 节点类型选择【服务端】,输入名称
    • 例图:blockchain
      • 服务端地址:安装 【mignyue-debug-server】的服务IP地址
        • 外网IP地址:【mingyue-pc】可以在外网链接调试,速度受外网链接影响会比较慢
        • 内网IP地址:【mingyue-pc】只可以在内网链接调试,速度比较快
      • TCP端口:【mingyue-pc】外网或内网链接【mignyue-debug-server】使用,速度比较慢
      • UDP端口:【mingyue-pc】外网或内网链接【mignyue-debug-server】使用,速度快
      • 服务I D:【mignyue-debug-server】启动时产生的ID
        • 例图:blockchain
      • 验证按钮,点击可以检查 服务ID 是否正确
    • 填写完毕
    • 例图:blockchain
    • 点击确定返回
    • 例图:blockchain
    • 选择菜单的【编辑】【删除】,进行相应的操作

##2.8.2.3 编辑JVM节点

  • windows
    • 选中一个分组,单击右键,选择菜单的【新增】
      • 节点类型选择【虚拟机】,输入名称
      • 例图:blockchain
        • 服务端地址:需要调试JVM的服务IP地址
          • 外网IP地址:建议不需要
          • 内网IP地址:一版是内网地址
        • TCP端口:JVM打开远程调试的端口
          • -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9000,suspend=n
          • 例图:blockchain
        • 本地调试端口:本地IDE链接【】进行调试的端口
          • 例图:blockchain
      • 填写完毕
      • 例图:blockchain
      • 点击确定返回
      • 例图:blockchain
      • 选择菜单的【编辑】【删除】,进行相应的操作

##2.8.2.4 编辑IDE节点

  • windows
    • 暂时无法操作

##2.8.3 删除IDE节点

  • windows
    • 暂时无法操作

##2.8.4 管理角色

  • windows
    • 空白处,单击右键,选择菜单的【角色管理】
    • 在弹出的角色管理对话框中,单击新增
    • 例图:blockchain
      • 超级管理员权限
        • 分配权限
        • 修改节点
        • 删除节点
      • 普通管理员权限
        • 启动服务端
        • 停止服务端
        • 启动链接虚拟机
        • 停止链接虚拟机
      • 开发测试环境权限
        • 只读调试
          • 例如:不可以修改变量,一版在生产和测试环境 选择这一项
        • 可写调试
          • 例如:可以修改变量,一版在开发环境 选择这一项
        • 短时间调试
          • 断点停留超过30秒后,自动向虚拟机发送往下执行的命令,一版在生产和测试环境 选择这一项
        • 长时间调试
          • 断点停留永久,一版在开发环境 选择这一项
        • 临时阻止他人调试
          • 可以阻止其他人调试本JVM机器,一版给组长这个权限
    • 超级管理员
    • 例图:blockchain
    • 普通管理员
    • 例图:blockchain
    • 开发人员-测试、线上环境
    • 例图:blockchain
    • 开发人员-开发环境
    • 例图:blockchain

##2.8.4.1 编辑角色

  • windows
    • 选择一个角色,右边可以进行编辑
    • 例图:blockchain

##2.8.4.2 删除角色

  • windows
      • 选择一个角色,再点击删除按钮
    • 例图:blockchain

##2.8.5 管理用户

  • windows
    • 选择一个分组、服务端或者虚拟机,单击右键,选择菜单的【用户管理】 ,分配用户
    • 例图:blockchain
    • 用户是必须是自己的好友,把用户增加到自己的好友中
    • 例图:blockchain
    • 选择用户
    • 例图:blockchain
    • 分配权限
    • 例图:blockchain
    • 完成结果
    • 例图:blockchain

##2.8.5.1 编辑用户

  • windows
    • 选择一个用户,点击角色名称,可以切换角色
    • 例图:blockchain

##2.8.5.2 删除用户

  • windows
    • 选择一个用户,点击删除按钮
    • 例图:blockchain

#3 调试
##3.1 启动被调试的JVM

  • windows
    • 启动 被调试的JVM ,远程调试端口是:9000
      • 参数是:-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9000,suspend=
      • 例图:blockchain
      • 样例代码如下:
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        public class AppTest {
        public static void main(String[] args) {
        new Thread(new Runnable() {
        @Override
        public void run() {
        int i = 0;
        while (true) {
        try {
        Thread.sleep(300);
        } catch (InterruptedException e) {
        e.printStackTrace();
        }
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        System.err.println(i++);
        }
        }
        }).start();
        }
        }
    • 例图:blockchain

##3.2 启动【mingyue-debug-server】

  • windows
    • 例图:blockchain

##3.2 启动【mignyuue-pc】

  • windows
    • 打开自己的聊天窗口
    • 例图:blockchain
    • 选择服务端,点击启动
    • 例图:blockchain
    • 状态
    • 例图:blockchain
      • 远程
        服务端 - 【mingyue-debug-server】 的状态
        虚拟机 - 【被调试JVM】的状态
      • 本地
        服务端 - 【mingyue-pc】是否连接到【mingyue-debug-server】的状态
        虚拟机 - 【mingyue-pc】连接【被调试JVM】的状态,端口表示调试【被调试JVM】的代理端口

##3.3 调试

  • windows
    • 打开IDE工具例如IDEA,设置代理调试端口
    • 例图:blockchain
    • 启动调试 ,设置断点
    • 例图:blockchain
    • 查看聊天窗口
    • 例图:blockchain

##3.4 临时阻止用户调试

  • windows
    • 好友1登录【mingyue-pc】,打开好友2的聊天窗口
    • 例图:blockchain
    • 点击【调试】按钮
    • 例图:blockchain
    • 选择【调试服务】,点击启动按钮
    • 例图:blockchain
    • 打开IDE,链接端口,进行远程调试
    • 返回2的聊天窗口,刷新调试列表,在【jvm】下面找到1的ide调试节点,单击右键选择【临时阻止】
    • 例图:blockchain
    • 阻止结果
    • 例图:blockchain
    • 在阻止时间内,即使打了断点也不会,进入调试调试状态
    • 例图:blockchain
    • 等待临时阻止时间过期后就可以再次调试

##3.5 短时间、长时间调试

  • windows
    • 短时间调试 ,IDE在收到调试事件后,如果不进行下一步调试,等待30秒后,jvm自动往下执行,但是IDE不会被通知
    • 长时间调试 ,IDE在收到调试事件后,如果不进行下一步调试,jvm一直等待下去

##3.6 只读、可写调试

  • windows
    • 只读调试,调试过程中不可以修改变量
    • 可写调试,调试过程中可以修改变量

#1 明月调试

  • 该软件是为Java开发人员提供的JVM远程调试代理工具
    • 基于JVM本身的远程调试功能
    • 避免对JVM侵入式设置agent
    • 只需开启JVM远程调试端口
    • 重新封装调试命令
    • 屏蔽危险调试命令
    • 长时间调试防呆
    • 支持内网、外网调试
    • 有效避免JVM调试端口暴漏到外网
    • 临时阻止他人调试某一个JVM
    • 增加多用户管理、多JVM分组管理
  • 该软件由客户端和服务端两部分组成
  • 该软件采用saas的部署方式(同时支持私有云的部署方式)
    • 联系电话和微信号:13681736659
    • 微信群:blockchain
  • 该软件采用低收费模式,不会给开发人员和技术公司带来经济负担

#2 Java调试遇到的问题

  • 项目一般只在本地调试,部署后很难再被调试
  • 项目分布式部署后,即使可以远程调试,也很难找到对应的JVM
  • 遇到线上问题只能通过看log日志,如果没有加log日志则更麻烦
  • 生产环境安全第一的原则,更是无法进行直接调试

#3 该软件解决这一切的问题

  • 解决分布式环境下对JVM无法调试的问题
  • 可以直接对生产环境远程调试,快速定位线上问题
  • 通过设置只读权限,阻止用户修改JVM中的变量

#4 原理流程

  • 正向调试流程 【IDE】–>【客户端】–>【服务端】–>【JVM】
    • 1【IDE】发送调试命令到 【客户端】
    • 2【客户端】把命令转发到【服务端】
    • 3【服务端】最终把命令发送给【JVM】
  • 反向通知流程 【IDE】<–【客户端】<–【服务端】<–【JVM】
    • 1【JVM】发送调试事件到 【服务端】
    • 2【服务端】把事件转发到【客户端】
    • 3【客户端】最终把事件发送给【IDE】

#5 使用场景

  • 个人网站Java后台、公司大型网站Java后台
  • 传统项目架构、微服务架构
  • 多环境项目、多业务、多JVM、多开发人员、多角色
  • 软件使用架构
    • 例图:blockchain
  • 节点配置架构
    • 例图:blockchain

#6 快速使用
##6.1下载、安装

6.2 启动被调试【JVM】

  • 设置远程调试端口
  • 参数是:-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9000,suspend=
  • 例图:blockchain

6.3 启动【服务端】获取服务id

  • 服务ID:【服务端】启动时产生的ID,在终端中复制该服务ID
  • 例图:blockchain

6.4 启动【客户端】配置调试节点

6.4.1 登录 ,选择支付宝扫码登录

6.4.2 购买JVM和服务端使用期限

  • 打开自己的聊天窗口,点击调试小图标,点击购买图标,第一次需要
    • 例图:blockchain
  • 查看购买列表 ,有购买的、有赠送的,第一次可以选择赠送
    • 例图:blockchain
  • 选择刚才生成的订单,点击使用
    • 例图:blockchain
  • 查看用订单列表
    • 例图:blockchain
  • 图中标题显示是虚拟机的使用天数 ,可以再重新选择购买调试服务器,最终如下图
    • 例图:blockchain

6.4.3 增加分组

  • 空白处单击右键选择【新增】,节点类型选择分组,输入名称点击确定,多增加几个分组
  • 例图:blockchain

6.4.4 增加【服务端】节点

  • 选择一个分组,单击右键选择【新增】,节点选择【服务端】,设置ip、端口和服务id
  • 例图:blockchain

6.4.5 增加【JVM】节点,设置ip、端口

  • 选择一个分组,单击右键选择【新增】,节点选择【虚拟机】,设置ip、端口和本地调试端口
  • 例图:blockchain

6.4.6 启动服务

  • 启动远程调试服务 ,选择服务端节点,单击右键选择【启动(远程)】
  • 启动本地调试服务 ,选择服务端节点,单击右键选择【启动(本地)】
  • 例图:blockchain
  • 复制本地调试JVM的本地端口

6.5 在【IDE】设置远程调试端口

  • 例图:blockchain
  • 在【IDE】中启动调试

概要说明

明月花园

这是一个活动交易平台

提供多种多样的活动类型

提供完善的交易流程管理

活动流程:

1.发布活动

2.等待参与者

3.审核参与者

4.活动开始

5.活动结束

6.系统自动结算

7.个人提现

活动费用分类:

1.免费活动

2.收费活动,参与者付费

3.悬赏活动,发起者付费

活动费用规则:

1.活动费用由发起者制定

2.收费活动由参与者支付

3.悬赏活动由发起者支付

4.活动结束后2天内可以申请退款

5.活动结束2后系统进行结算

6.没有发生实际退款的活动,才可以进行结算

7.实际收费金额=实际支付金额—平台收费金额

8.平台收费金额=实际支付金额✕收费比例

9.目前平台收费比例是30%

操作手册

发布活动

  • 例图:blockchain

活动列表

  • 例图:blockchain

联系人

  • 例图:blockchain

消息

  • 例图:blockchain

聊天

  • 例图:blockchain

个人

  • 例图:blockchain

概要说明

页面点赞

这是一个轻量级、浏览器插件、社交平台

浏览页面时,点赞、发表评论、聊天、捡瓶子

操作手册

点赞列表

  • 例图:blockchain

在线查询

  • 例图:blockchain

评论

  • 例图:blockchain

漂流瓶

  • 例图:blockchain

消息

  • 例图:blockchain

个人

  • 例图:blockchain