工具使用 [ idea远程服务断点调试 ]

2023-11-05

1.概述

在开发的过程当中,断点调试是我们比较常用的操作,不管是用来解析代码流程,还是用来排查程序错误,都会去使用到断点调试,但是断点调试一般只能在我们本地的编译器中进行;当我们的代码部署到服务器上去的时候,我们就可以进行一个远程的代码调试,但前提是远程服务的代码和本地代码一致。

1.1.远程代码调试

1.1.1.idea配置

首先要配置一个启动类
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

配置好名称,远程服务所在IP,端口为远程服务监听端口,非远程服务的启动端口,监听端口自定义一个即可
在这里插入图片描述

1.1.2.准备HTTP接口

随便准备一个controller接口用来测试

@RestController
@RequestMapping("/print")
public class PrintController {
    
    
    @GetMapping("/sayHello")
    public String sayHello() {
        String str = "hello world!";
        System.out.println(str);
        
        return str;
    }
}

1.1.3.启动远程服务

我们这里可以用cmd启动服务来模拟远程服务
将服务打成jar包
正常启动命令

java -jar .\boot-1.0-SNAPSHOT.jar   

在这里插入图片描述
远程调试的话需要在启动命令添加参数如下:

在这里插入图片描述

java -jar  -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 .\boot-1.0-SNAPSHOT.jar

在这里插入图片描述
启动完毕

在接口里打上断点

在这里插入图片描述

启动remote类

在这里插入图片描述

启动成功
在这里插入图片描述

浏览器访问接口进行测试

在这里插入图片描述
进入断点,测试成功

在这里插入图片描述
浏览器响应成功
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

工具使用 [ idea远程服务断点调试 ] 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用

随机推荐

  • 信号处理算法(4):全球最快的傅里叶变换算法(FFTW)

    本文大部分内容转载自博客 congwulong https blog csdn net congwulong article details 7576012 FFTW Fastest Fourier Transform in the Wes
  • C++Primer 第五版 ——《第十四章 》重载运算符 与 类型转换

    目录 基本概念 如何调用 非成员函数 和 成员函数的 重载运算符 491P 有哪些运算符就不应该被重载 491P 重载运算符的 返回类型 应该与 内置版本的返回类型兼容 492P 重载 赋值和 复合赋值运算符 应该返回左侧运算对象的一个引用
  • C语言 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。

    include
  • 线上问题总结:运行在容器里的springboot应用,出现多次oom

    项目运行环境 运行环境 k8s docker open jdk11 springBoot 公司的项目都是使用kubernate docker来管理 运行应用 问题描述 发现项目出现多次oom 排查到的原因有两个 1是分配的堆内存太小 2是代
  • Android屏幕适配

    前言 请先阅读前言 Android开发中 Android屏幕适配是一件很棘手的事 需要注意的几点 1 尽量使用线性布局 LinearLayout 相对布局 RelativeLayout 和帧布局 FrameLayout 不要使用绝对布局 2
  • grep 参数使用和实例

    一 grep 参数使用 Gun grep 选项 b 在搜索到的行的前面打印该行所在的块号码 c 只显示有多少行匹配 而不具体显示匹配的行 h 不显示文件名 i 在字符串比较的时候忽略大小写 l 只显示包含匹配模板的行的文件名清单 不同项目之
  • 怎么解决Ubuntu14.04不能打正确拼音

    重启一下
  • js dom节点类型

    目录 节点树方法 1 parentNode父节点 2 childNodes字节点们 3 firstChild lastChild 字节点 4 previousSibling nextSibling 兄弟节点 5 nodeName 6 nod
  • Qt中IPC(进程间通信)的方式一:WM_COPYDATA消息

    数据复制消息WM COPYDATA是Windows中一个特殊的消息 通过这个消息能够在进程间传递数据 WM COPYDATA消息含两个參数WPARAM wParam和LPARAM lParam WPARAM和LPARAM是匈牙利命名法 历史
  • jQuery 改变样式

    1 要先引入jQuery js jQuery JavaScript Library v1 4 4 http jquery com Copyright 2010 John Resig Dual licensed under the MIT o
  • 参数非空校验

    参数非空校验 全为空返回true 否则返回false function checkParam var argLengthInit arguments length var argLength argLengthInit var count
  • Visual Studio 2019的安装教程

    注意 部分内容只面向学习C语言的同学 1 打开浏览器搜索 Microsoft官网 2 进入网站 3 点击右上角的 所有Microsoft 4 找到 开发人员与IT 一列中的 Visual Studio 并点击进入 5 点击下载 Visual
  • Linux之Docker环境搭建

    Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 然后发布到任何流行的 Linux或Windows 机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之间不会有任何接口 搭建开始 官方网址
  • 微信小程序隐私指引完整填写范本(开发者收集你选中的照片或视频信息,用于?)

    为了分辨用户 开发者将在获取你的明示同意后 收集你的微信昵称 头像 为了显示距离 开发者将在获取你的明示同意后 收集你的位置信息 开发者收集你的地址 用于获取位置信息 开发者收集你的发票信息 用于维护消费功能 为了用户互动 开发者将在获取你
  • TCP报文格式详解

    TCP报文由俩部分组成 TCP报头和TCP数据 TCP报文是TCP传输的数据单元 端口号 用来标识一台主机的不同进程 1 源端端口号 源端口和IP层解析出来的IP地址标识报文的发送地 同时也确定了报文的返回地址 2 对端端口号 表明了该数据
  • 《移动浪潮》读书笔记

    移动浪潮 一书深入浅出地解读了信息革命第五次浪潮即将为人们生活带来的巨变 首先论述移动的力量 它是一股无法阻挡的浪潮 将引发颠覆性的革命 随后从电脑逐渐小型化 纸张的消失 娱乐的自由 钱包 社交网络 医疗 教育乃至工农业等方方面面论述移动互
  • 线程池参数

    一 ThreadPoolExecutor核心参数说明 1 corePoolSize 核心线程数 核心线程会一直存活 及时没有任务需要执行 当线程数小于核心线程数时 即使有线程空闲 线程池也会优先创建新线程处理 设置allowCoreThre
  • shell判断一个变量是否为空

    shell判断一个变量是否为空 author 润明 2012 2 1 QQ 226399587 http blog csdn net runming918 判断一个变量是否为空 1 变量通过 引号引起来 如下所示 可以得到结果为 IS NU
  • 数据库管理系统

    1 数据库 DB 指长期保存在计算机的存储设备上 按照一定规则组织起来 可以被各种用户或应用共享的数据集合 2 数据库管理系统 DBMS 指一种操作和管理数据库的大型软件 用于建立 使用和维护数据库 对数据库进行统一的管理和控制 以保证数据
  • 工具使用 [ idea远程服务断点调试 ]

    目录 1 概述 1 1 远程代码调试 1 1 1 idea配置 1 1 2 准备HTTP接口 1 1 3 启动远程服务 1 概述 在开发的过程当中 断点调试是我们比较常用的操作 不管是用来解析代码流程 还是用来排查程序错误 都会去使用到断点