远程debug调试

news2024/12/25 12:53:14

1、背景

测试验证过程中我们肯定都遇到过线上问题本地怎么都无法复现的经历,而这一类问题往往是需要我们通过经验尝试性的修复,过程也比较痛苦且低效,没办法快速定位到问题原因。此时可以尝试使用远程debug将线上部署程序像本地调试一样验证问题

2、idea 中新建 debug 调试

理解内容:执行 java -agentlib:jdwp=help  查看帮助信息

a、参数含义:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

-agentlib:<libname>[=<选项>] 加载指定的本机代理程序库


suspend:在启动时是否就等待,表示程序一启动就停下,等待远程调试 socket 和它建立连接。

transport:传输规范,用 JDWP 调试程序一般叫做:dt_socket。

address:调试地址。

server:是否监听调试器,需要改成 y,要监听调试器。

launch:当事件发生时运行调试器

onthrow:抛出异常时

onuncaught:没有捕获异常时

timeout:监听超时时间

JDWP:Java Debug Wire Protocol 缩写,定义了调试器(debugger)和 Java 虚拟机(target vm)之间的通信协议


JDWP协议规范文档 https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/jdwp-spec.html

3、服务器 JVM 启动参数中添加 -agentlib

a、定义环境变量:

JPDA_OPTS = -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

b、jar 启动

java $JPDA_OPTS -jar test.jar

c、war 启动

JAVA_OPTS="$JAVA_OPTS $JPDA_OPTS"

4、启动本地远程调试就可以调试服务端运行代码了,实时的查看每一步执行的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】支持向量机(上)

支持向量机&#xff08;上&#xff09; 目录 一、导言二、何为支持向量机三、点到平面的距离计算四、构建目标函数&#xff08;支持向量机的基本型推导&#xff09;五、利用 KKT 条件对目标函数进行转换1、拉格朗日乘数法的引入2、KKT 条件的引入3、松弛互补条件的引入4、总结 …

获取R、G、B通道的直方图

clc;%clc的作用就是清屏幕 clear;%clear是删除所有的变量 close all;%close all是将所有打开的图片关掉。imageimread(E:\我的桌面\MATLAB\练习\2.jpg);%绝对路径的 Rimage(:,:,1); Gimage(:,:,2); Bimage(:,:,3); hrimhist(R); hgimhist(G); hbimhist(B); x0:1:255; figure…

只需根据接口文档,就能轻松开发 get 和 post 请求的脚本,你会做吗?

一般的接口文档描述的内容&#xff1a; 开发get请求的脚本&#xff0c;接口文档的描述如下&#xff1a; 在loadrunner里面创建一个空脚本&#xff1a; 在action空白处&#xff0c;点击insert—>step 输入web_custom_request&#xff0c;双击选择该函数&#xff0c;填入如下几…

Android Studio实现内容丰富的安卓外卖平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号122 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.…

缓存更新策略,先更新数据库还是缓存呢?

学了这么多&#xff0c;相信大家对缓存更新的策略都已经有了清晰的认识。最后稍稍总结一下。 缓存更新的策略主要分为三种&#xff1a; Cache aside Cache aside Cache aside也就是旁路缓存&#xff0c;是比较常用的缓存策略。 &#xff08;1&#xff09;读请求常见流程 应…

CVE-2018-12613:本地文件包含

前言&#xff1a; phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库&#xff0c;创建、删除、修改数据库表&#xff0c;执行SQL脚本命令等。 CVE-2018-12613&#xff0c;这是一个在phpMyAdmin4.8.x(4.8.2之前)上发现的…

obs录制功能源码分析

录制按钮 界面文件&#xff1a; 主界面:OBSBasic.ui 中开始录制按钮的objectName 是 recordButton 槽函数&#xff1a; void OBSBasic::on_recordButton_clicked() {//1 输出模式是否被激活if (outputHandler->RecordingActive()) {bool confirm config_get_bool(GetGlo…

【Cache】Rsync远程同步

文章目录 一、rsync 概念二、rysnc 服务器部署1. 环境配置2. rysnc 同步源服务器2.1 安装 rsync2.2 建立 rsyncd.conf 配置文件2.3 创建数据文件&#xff08;账号密码&#xff09;2.4 启动服务2.5 数据配置 3. rysnc 客户端3.1 设置同步方法一方法二 3.2 免交互设置 4. rysnc 认…

17-Linux环境搭建——使用云服务器

目录 1.环境搭建的主要4种方式&#xff1a; 2.使用云服务器 2.1.腾讯云 PS&#xff1a;轻量应用服务器和云服务器的区别 PS&#xff1a;首单特惠 2.2.阿里云 2.3.其他类似 3.使用终端软件连接到 Linux 3.1.什么是终端软件&#xff1f; 3.2.使用 XShell PS&#xff1…

No5.精选前端面试题,享受每天的挑战和学习

文章目录 说一下虚拟dom&#xff0c;结合vue和react白屏问题怎么优化java和javascript的区别Vue3.0和2.0对比&#xff0c;哪些方面更加出色 说一下虚拟dom&#xff0c;结合vue和react 虚拟DOM&#xff08;Virtual DOM&#xff09;是JavaScript框架如Vue和React中的一个重要概念…

CSDN博客运营团队2023年H1总结

一、运营工作的指导思路 CSDN的核心价值之一是帮助开发者/技术人快速的学习成长和解决技术问题。这个核心价值的建立离不开无数开发者的无私贡献&#xff0c;而运营工作的核心就是要保证这个价值链不断放大&#xff1a;让内容贡献者体验更好&#xff0c;付出有回报&#xff0c…

黑盟菜鸟剪辑短视频助手是什么

今天我们来讲一下视频综合处理功能&#xff0c;首先我们来打开软件主界面&#xff0c;通过模块化功能合集视频综合处理进入我们的这个功能。首先我们来看一下功能的布局&#xff0c;左边是导入视频的地方&#xff0c;右边是功能区&#xff0c;这里总共包括 32 种功能&#xff0…

使用随便测测平台-做接口测试

目录 接口数据的来源 导出har文件 导入har文件 转化为用例 提取数据进行替换 如何选择哪些数据需要替换呢&#xff1f; Url Params、Data ​编辑进行替换操作 断言-冒烟 断言-详细 测试报告 结束 接口数据的来源 1、可通过charles工具&#xff0c;录制好接口操作&…

Jmeter使用之:高效组织接口自动化用例技巧

目录 前言&#xff1a; 1 2 3 4 5 6 前言&#xff1a; 在进行接口自动化测试时&#xff0c;JMeter是一个非常常用的工具。它具有强大的性能和扩展性&#xff0c;可以用于模拟大量并发用户的请求&#xff0c;对接口进行压力测试和性能监测。 1 善用“逻辑控制器”中的…

Android Studio实现内容丰富的安卓图书馆座位图书预约系统

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号109 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查…

智能邮件过滤与分类工具评估:AI办公工具准确性和智能性一览

在现代办公环境中&#xff0c;处理大量的电子邮件是一项常见而繁琐的任务。为了提高工作效率&#xff0c;智能邮件过滤与分类工具应运而生。这些AI办公工具承诺通过准确性和智能性来帮助我们更好地管理和组织电子邮件。然而&#xff0c;我们需要对它们的表现进行评估&#xff0…

Redis概述及安装、使用和管理(烦心事永久打烊)

文章目录 一、NoSQL非关系型数据库1.NoSQL概述2.关系型数据库和非关系型数据库区别&#xff08;1&#xff09;数据存储方式不同&#xff08;2&#xff09;扩展方式不同&#xff08;3&#xff09;对事务性的支持不同 3.非关系型数据库使用场景 二、Redis概述1.简介2.优点3.Redis…

Spark计算引擎介绍

1. Spark是什么 Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。 Spark是加州大学伯克利分校的AMP实验室&#xff08;Algorithms, Machines and People Lab&#xff09;开源的类Hadoop MapReduce的通用并行框架&#xff0c;拥有Hadoop MapReduce所具有的优点&…

1、hadoop集群搭建

1、 Hadoop运行环境搭建 1.1、修改主机名和hosts文件 1&#xff09;修改主机名称 sudo hostnamectl set-hostname <newhostname>sudo hostnamectl set-hostname hadoop101 sudo hostnamectl set-hostname hadoop102 sudo hostnamectl set-hostname hadoop103 2&#…

C# ref out的使用与区别

Ref 和 out可以理解为类似的传址引用。 在函数需要外部传入一个变量名&#xff0c;然后在程序内部可以将这个值进行修改&#xff0c;典型的传址引用&#xff01;在定义时必要加ref或out说明&#xff01; Ref和Out的区别&#xff1a; ref 关键字使参数按引用传递。其效果是&am…