码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • IDEA远程断点调试jar包项目


    文章目录

    • 前言
    • 一、准备工作
      • 1. jar包应用
      • 1. IDEA配置
    • 二、断点调试
      • 1. 运行jar包
      • 2. 访问接口
      • 3. 进来断点
    • 三、注意点
    • 总结

    前言

    springboot 项目在开发完,打成一个 jar 包,放到服务器运行时,如果报错了,怎样排查比较方便?

    要是开发环境,我们可以在 IDEA 打上断点,轻松调试,但是现在已经是一个 jar 包在服务器运行着了。

    我们可以远程断点调试 jar 包项目吗?

    可以。


    一、准备工作

    1. jar包应用

    自己创建一个 springboot 项目,里面很简单,就写一个用来调试的接口:

    @GetMapping("/test")
    public String test(){
        int i = 1 / 0;
        System.out.println(i);
        return "success";
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    打成 jar 包,上传到一台虚拟机节点,我这里上传到了 192.168.201.4
    在这里插入图片描述

    1. IDEA配置

    点击 Edit Configurations
    在这里插入图片描述
    选择 Remote
    在这里插入图片描述
    填写信息
    注意:我们只需要修改 Host 那一项就可以了,改成我们远程运行 jar 包的节点 ip
    在这里插入图片描述

    二、断点调试

    1. 运行jar包

    在上一步, IDEA 自动生成了一串东西,就是这个:
    在这里插入图片描述
    复制它 !

    去到虚拟机节点下,运行命令启动项目:

    java 复制的指令 -jar 包名
    
    • 1

    我实际的运行命令:

    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar demo.jar
    
    • 1

    控制台可以看到,它正在监听 5005 端口
    在这里插入图片描述

    2. 访问接口

    http://192.168.201.4:8087/test

    3. 进来断点

    在这里插入图片描述

    三、注意点

    我这里故意让程序抛异常,并打印信息,可以看到,跟我们本地断点有点不一样,IDEA 的控制台是不会输出信息的,我们只能在虚拟机节点的控制台查看
    在这里插入图片描述

    IDEA 的控制台始终显示:

    在这里插入图片描述
    不过堆栈信息,运行中的对象属性等,还是可以在 IDEA 那里看到的

    还有,运行的 jar 包的代码和 IDEA 中的代码要保持一致


    总结

    欢迎指出我的错误!

  • 相关阅读:
    VLAN间路由:单臂路由与三层交换
    Flink DataStream 侧输出流 Side Output
    UE要素控制显隐
    Chrome中设置安全来源域名
    python中json的使用dump,dumps,loads,load简单了解
    PHP中的面向对象编程
    uniapp中全局页面挂载组件(H5)
    Python调用C++基于libcurl实现ftp上传客户端
    MySQL之数据库编程(创建存储函数&&设置触发器)
    压力测试+接口测试
  • 原文地址:https://blog.csdn.net/weixin_42132143/article/details/125517006
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号