欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

本地环境正常生产 CAD加密 环境却又问题…这时候

点击: 次  来源:劳务派遣管理系统 时间:2017-11-12

原文出处: 徐靖峰

该系列先容一些java开拓中常用的一些小能力,多小呢,从不会到会只需要一篇文章这么小。这一篇先容如何利用jdk自带的扩展包共同Intellij IDEA实现长途debug。

项目中常常会有呈现这样的问题,会令措施员抓狂:要害代码段没有打印日志,当地情况正常出产情况却又问题…这时候,长途debug大概会启行动用。

1 筹备用于debug的代码

筹备一个RestController用于吸收请求,最后可以通过当地断点验证是否乐成开启了长途debug

@RestController
public class TestController {
    @RequestMapping("/test")
    public Integer test() {
        int i = 0;
        i++;
        i++;
        i++;
        i++;
        i++;
        return i;
    }
}

项目利用springboot和maven构建,依赖就省略了,利用springboot提供的maven打包插件,利便我们打包成可运行的jar。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <executable>true</executable>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

2 利用maven插件打包成jar

当地情况正常出产 CAD加密 情况却又问题…这时候

3 筹备启动剧本

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=64057 remote-debug-1.0-SNAPSHOT.jar
  1. 利用java -jar的方法启动措施,而且添加了一串非凡的参数,这是我们可以或许开启长途debug的要害,以-开头的参数是jvm的尺度启动参数,关于jvm启动参数相关的常识可以先去其他博客相识。
  2. -agentlib:libname[=options], 用于装载当地lib包。在这条指令中即是加载了jdwp(Java Debug Wire Protocol)这个用于长途调试java的扩展包。而transport=dt_socket,server=y,suspend=n,address=64057这些即是jdwp装载时的定制参数,昆山软件开发,具体的参数浸染可以搜索jdwp举办相识。我们需要体贴的只有address=64057这个参数选项,当地调试措施利用64057端口与其通信,从而长途调试。

4 设置IDEA

当地情况正常出产 CAD加密 情况却又问题…这时候

  1. 与剧本中的指令完全一致
  2. 长途jar包运行的host,昆山软件开发,由于我的jar运行在当地,所以利用的是localhost,昆山软件公司,一般线上情况自然是修改为线上的地点
  3. 与长途jar包举办交互的端标语,idea会按照指令自动帮我们输入
  4. 选择与长途jar包一致的当地代码

请务必担保长途jar包的代码与当地代码一致!!!

5 验证

生存第4步的设置后,先执行剧本让长途的jar包跑起来,再在IDEA中运行remote-debug

当地情况正常出产 CAD加密 情况却又问题…这时候

如上便代表毗连运行乐成了

在当地打上断点,会见localhost:8080/test

当地情况正常出产 CAD加密 情况却又问题…这时候

可以在当地看到仓库信息,大功告成。一行指令便完成了长途调试。