在工作经常遇到连接开发数据库,程序没有问题,但一到线上或者测试环境运行就出现各种问题,现在我们来配置远程debug。

一、原理

本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。

被调试程序的远程虚拟机:作为 Debug 服务端,监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。

调试程序的本地虚拟机:IDEA 中配置的 Remote Server,指定 Debug 服务器的Host:Port,以供 Debug 客户端程序连接。

二、远程调试步骤

1、利用spring-boot创建测试项目ares-boot,并编写测试Controller

package com.ares.controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

@RequestMapping("/hello")

public class HelloController {

@RequestMapping("")

public String hello(String name) {

return "hello " + name;

}

}

打成jar包,利用java -jar 启动服务

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:10090 -jar ares-springboot-1.0.0.jar --server.port=9090

其中 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:10090 指定开放调试的端口

2、IDEA配置启动环境(Debug服务器)

新建remote

配置要调试的服务地址和端口

利用debug启动,浏览器访问http://localhost:9090/hello,我们发现Idea已经进入的debug模式

注意:

1)有时候调试时提示Connect time out,这时候需要关闭防火墙

2)只有本地和远程的代码保持一致才能进行远程调试

idea远程调试修改代码_利用IDEA远程调试代码相关推荐

  1. idea远程调试修改代码_使用IDEA远程调试线上代码

    众所周知使用IDEA开发时可以通过debug进行调试并快速定位问题,但是如果代码已发布到远程服务器上,该如何调试呢?本文将告诉你如何利用IDEA调试远程服务器上的代码 本文会先讲如何配置参数.调试,然 ...

  2. 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统

    前面的文章我们写到了利用Python实现钉钉和邮件的数据推送,在数据处理这一块实现了对mysql和odps的数据获取和处理,可以满足常规业务大部分数据场景需求,在一家初创公司数据基础建设还不完善的时候 ...

  3. python做病毒传播的空间数据_利用4行Python代码监测每一行程序的运行时间和空间消耗...

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其具有高可扩展性和高可移植性,具有广泛的标准库,受到开发者的追捧,广泛应用于开发运维(DevOps).数据科学.网站开发和安 ...

  4. python删除异常值代码_利用Python进行异常值分析实例代码

    前言 异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值.常用检测方法3σ原则和箱型图.其中,3σ原则只适用服从正态分布的数据.在3σ原则下,异常值被定义为观察值和平均值的偏差超过3倍 ...

  5. java页面的模糊查询_利用java8 steam实现代码中模糊搜索以及分页实现

    实现目标 image.png 朋友让实现在后台代码中实现模糊查询; 上代码 public class demoTest { List userzList = Lists.list( new Userz ...

  6. python处理异常值的代码_利用Python进行异常值分析实例代码

    异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值.常用检测方法3σ原则和箱型图.其中,3σ原则只适用服从正态分布的数据.在3σ原则下,异常值被定义为观察值和平均值的偏差超过3倍标准差 ...

  7. 一段堆栈溢出的代码_为什么堆栈溢出的代码片段会破坏您的项目

    一段堆栈溢出的代码 Stack Overflow has been the saviour of many programmers, including me. Some of us have nev ...

  8. vc2010中开始执行不调试灰的_反编译动态调试smali全过程

    点击上方蓝字关注我,每天进步一点点 大家都知道我们在逆向分析的时候,很多时候主要在分析逻辑.网络抓包.数据来源流向分析.页面逻辑跳转分析.动态调试等.由于很多代码都会混淆,很多时候我们直接通过代码可能 ...

  9. opcclient远程连接opc服务器_软件 | 服务器远程连接软件MobaXterm

    今天和大家分享一款远程连接软件 -- MobaXterm在使用服务器时,我们大多都是通过远程连接软件进行的.使用远程连接软件可以实现文件在电脑和服务器之间互相传输.我们在服务器中对数据进行的一切操作, ...

  10. cython加密代码python_利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

最新文章

  1. 2020腾讯校招后台开发
  2. ServletContextListener
  3. 【Python面试】 说说Python中xrange和range的区别?
  4. ptrace和wait的理解 (ptrace监控进程)
  5. Python MySQL 插入表
  6. 转】未指定 INSTANCESHAREDWOWDIR 命令行值。如果指定INSTANCESHAREDDIR 值,则必须指定该值 ....
  7. linux 基本配置tab键和显示行号 和中文输入法
  8. 二叉树层序遍历_求二叉树的层序遍历
  9. java只读xml文件头_为了生成只读的接口和xml,并命名结尾为MapperR.java和MapperR.xml...
  10. Python入门:局部变量与全局变量1
  11. Linux查看文件以及文件夹个数
  12. 今年水果贵,咱走网购
  13. (一)文件系统-ext4特性
  14. AutoJs学习-抖音自动评论
  15. 百度收录批量查询_如何查看网站是否被收录?
  16. 测斜原始数据处理工具
  17. 如何将mp3合并在一起?
  18. B站视频下载扩展工具
  19. 计算机学校的逻辑思维题,2013逻辑推理专项习题100道(附答案).docx
  20. input获取焦点边框 outline属性

热门文章

  1. 通过anaconda下载 opencv的方法
  2. dev-cpp linux,QT4+Devcpp开发环境搭建(参照网上资料整理)
  3. DEV CPP中使用Clang
  4. t470键盘拆解_ThinkPad T470拆机图赏:堪称商务本的业界标杆
  5. Android 四大组件
  6. 雷诺方程推导及FDM求解
  7. Hadoop学习2:Hadoop环境配置:JDK 1.8和Hadoop配置
  8. 使用阿里云code和git管理项目
  9. Vue3项目中使用AE+bodymovin+lottie的模式制作特效
  10. MySQL数据库常用命令大全