【问题标题】:Debugger port not opening调试器端口未打开
【发布时间】:2020-02-23 03:58:18
【问题描述】:

由于某种原因,当我从 intellij 运行我的 Spring 应用程序时,某些任务没有被执行,因为我的存根服务器响应错误。所以我尝试通过我的项目中预先编写的 go 脚本启动它并且它工作. 但是现在附加调试器成为一个问题,因为我已经从终端启动了我的应用程序。

我尝试通过在 intellij 中设置远程配置并将端口设置为 8000 来进行远程调试,但我不断收到错误“连接被拒绝”

下面是远程配置截图: Remote config screenshot

这是为通过终端启动的应用附加调试器的正确方法吗?

以调试模式启动的命令:

gradle bootRun -Dagentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8080

【问题讨论】:

    标签: spring-boot intellij-idea intellij-13


    【解决方案1】:

    另一种更简单的方法是打开Run anything 窗口(ctrl/command + shift + A),然后搜索attach debugger 操作。 IntelliJ 将尝试查找已附加调试器的任何进程,并将显示一个列表,您可以从中选择要附加到的进程。

    如果你得到java.lang.module.FindException,你也可以尝试运行gradle bootJar,然后运行生成的jar文件(在build/libs目录下)

    java "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8080" --add-exports java.base/jdk.hotspot.agent=ALL-UNNAMED -jar my_jar.jar

    还请注意,找到一种方法来告诉 gradle 正确运行您的 jar(在 bootRun 任务中)是更正确的方法。

    【讨论】:

    • 但是这样做不会附加到通过终端启动的进程。它只列出通过 intellij 启动的进程
    • 你能编辑你的帖子和你用来在 IntelliJ 之外启动你的 java 进程的命令吗?
    • 我尝试添加远程配置(如随附的屏幕截图所示),但失败并出现错误连接在端口 8000 上被拒绝。不确定这是否是附加到进程的正确方法。
    • 我的意思是你在终端中输入的启动应用程序的命令。 But now attaching debugger becomes a problem because i have started my application from terminal。请编辑并添加该终端命令。
    • 我再次尝试了您建议的附加进程方法,它现在列出了在终端中运行的进程。但它失败并出现以下错误:java.lang.module.FindException:模块 jdk.hotspot。找不到代理
    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2017-03-27
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多