IDEA远程Debug技巧

本文介绍了一种在云服务器上远程调试SpringBoot项目的有效方法。通过详细步骤,包括项目打包、文件上传、IDEA配置及JVM参数设置,展示了如何实现与远程服务的日志连接,便于快速定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我们在排查线上问题的时候,一般都是通过日志发现问题。但是有时候日志打印不全等一些问题会导致问题很难排查,然后重新加日志、发布。下面简单介绍一下如何远程Debug。

搭建一个简单的SpringBoot项目
/**
 * @author ssk
 * @date 2020/8/20
 */
@RestController
public class HelloController {

    @RequestMapping("hello")
    public String hello(){
        return "hello spring boot";
    }
}
项目里面就一个Controller,使用 mvn clean package打包成可执行jar文件。在target文件夹可以看到打包好的可执行jar文件。

image-20200824095151291

将可执行程序上传到服务器。这里使用的是FinalShell连接工具,直接上jar拖拽到相应的文件夹下面即可。如果使用XShell需要先使用yum -y install lrzsz下载插件。

image-20200824095658743

文件已经上传到服务器,接下来在IDEA配置。

image-20200824100820691

image-20200824113457814

  • Name:随便取一个名字。

  • Host:云主机的IP。

  • Port:调试端口,不是项目访问端口。

  • Use module classpath: 在多moudle项目中选择需要调试的moudle。

  • Command line arguments for remote JVM: 复制这个参数,在启动云服务中项目时添加这个JVM参数

    在云服务中启动项目。

     java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8081 -jar spring-mvc-1.0-SNAPSHOT.jar
    

image-20200824105917071

启动本地,可以看到日志已经连接到远程服务。

image-20200824110110295

验证,在浏览器输入访问路径,ip是远程服务器的端口,非本地端口。

image-20200824110424682

可以看到已经进入到端点的位置了。

image-20200824110455333

在进行远程调试时,如果发现代码行数不对的情况,一般是由于IDEA的JDK版本与要debug的源码的JDK版本不一致导致的。另外,还可能是本地Maven指向的JDK版本与IDEA配置的JDK版本不一致所致。为了解决这个问题,可以尝试以下几个步骤: 1. 确保IDEA的JDK版本与要debug的源码的JDK版本一致。可以在IDEA的设置中检查和修改JDK版本。 2. 检查本地Maven的配置,确保其指向的JDK版本与IDEA一致。可以在Maven的配置文件中查找并修改JDK版本。 3. 如果以上步骤都没有解决问题,可以尝试重新导入项目或重新构建项目,以确保所有的依赖和配置都正确。 通过以上步骤,应该能够解决IDEA远程debug时代码行数不对的问题。\[2\] #### 引用[.reference_title] - *1* [idea代码Debug技巧](https://blog.youkuaiyun.com/weixin_39977988/article/details/127221679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [idea debug jdk源码行数不对以及No executable code found at line](https://blog.youkuaiyun.com/qq_33873431/article/details/121251752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用IDEA远程debug调试(一篇懂所有)](https://blog.youkuaiyun.com/w8y56f/article/details/116493681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值