当前位置: 首页 > 知识库问答 >
问题:

java - IDEA怎样调试已打包tomcat项目?

林俭
2023-09-12

项目代码 https://wwi.lanzoup.com/ipdSO17mx3mj

按这个配置了一下没成功.
https://ca3tie1.github.io/post/shi-yong-idea-yuan-cheng-diao-...

搜过了.也试过了
Tomcat Local Server,
Tomcat Remote Server
都没成功.可能是细节上有问题.

补充两个图

显示 connected to server ,但是下断点访问 / 没有断下来.
Snipaste_2023-09-12_05-22-41.png
Snipaste_2023-09-12_05-22-15.png

共有2个答案

姜凯风
2023-09-12

我用过这种方式,算是比较有经验。
1、进到tomcat的目录下的bin下的catalina.bat(windows,linux应该是sh)里
把这一行加到后面:

-Xdebug -CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=5555,suspend=n,server=y"

也可以加在JAVA_OPTS后面:

set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555

address可以是任意没有被占用的端口,一般用5005
当然也可以在启动的时候手动加上这串参数,不过麻烦一点就是了
2、
IDEA里新建一个调试配置,选远程JVM调试,填上主机IP,端口写上面的address,
下面的参数是会自动生成的不用管,选择项目和版本号,确定。然后调试即可
image.png

边明煦
2023-09-12

远程监听有两点需要注意

  • 一个是你的本地代码和远程的代码一样
  • 另一个是在启动命令要增加额外的启动参数-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005,IDEA一般默认5005,像这个截图:
    image.png
    然后远程服务启动,进行一个网络请求
  • 另外,8080一般是用于接收网络请求与响应的端口,不是远程调试的端口
 类似资料:
  • 准备工作 明确远程服务器的 IP 地址,比如我是:192.168.92.128 关掉服务器防火墙:service iptables stop 本地 Remote Server 配置 添加 Remote Server,如下图 复制 Remote Server 自动生成的 JVM 参数,等下有用,如下图,比如我的是:-agentlib:jdwp=transport=dt_socket,server=y

  • 主要内容:断点,Evaluate表达式,Step Into,Step Out,Resume Program,Inspecting variablesIntellij Idea 调试功能,允许我们跟踪正在运行的代码,检查代码状态和​​执行流程。IntelliJ IDEA 调试器帮助我们轻松调试从最简单的代码到复杂的应用程序的任何内容。使用 IntelliJ 调试器,我们可以执行以下步骤 - 在任何时候停止程序的执行、单步执行函数、行断点、检查变量、评估表达式等。一些 Java 内置调试​​器是:

  • 单模块 maven 项目打包 在单一模块的maven项目开发中,我们通常在 src/main/resources 编写我们的配置文件,因此,在 maven 构建的时候,我们需要添加如下配置: <resources> <resource> <directory>src/main/resources</directory> <includes>

  • 由于云之家提供的jar, 在maven上找不到,我只能在idea上直接导入。本地上能够运行,但想打包发布到服务器上。idea就提示"程序包com.yunzhijia.cloudflow不存在"。这种情况请问得怎么解决??

  • 场景说明: 一些特殊功能的jar包,在maven仓库中并未提供;此时就需要自己将所需的本地jar包,引入项目。 1.本地jar包 2.pom.xml中导入本地jar包   配置 <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

  • 我有一个 SBT 项目 在这个项目中,我有一个子播放项目和其他项目 我的构建文件中的示例: 需要从IntelliJ IDEA调试播放服务器。 为了运行该项目,我在命令行上使用。 如何在 IDEA 中调试项目?