【问题标题】:How to remote debug an enterprise application running on web logic server in eclipse IDE(same machine)如何在 Eclipse IDE(同一台机器)中远程调试在 Web 逻辑服务器上运行的企业应用程序
【发布时间】:2025-12-23 18:30:16
【问题描述】:

我是 weblogic 应用程序服务器和远程调试的新手,已经阅读了几篇文章来设置远程调试。
一些文章建议编辑 setDomainEnv.cmd 文件,而另一些建议编辑
我的 WEBLOGIC_HOME\user_projects\domains\my_domain\bin 中的strong>startWeblogic.cmd 文件。
但是这两种解决方案都不适合我。下面列出了我尝试过的解决方案:

1) 编辑 setDomainEnv.cmd 文件

set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava.compiler=NONE
set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole...

文件中端口号设置为8543

if "%DEBUG_PORT%"=="" (
    set DEBUG_PORT=8453
)

2)编辑startWeblogic.cmd文件

我在文件顶部添加了以下行

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8543,server=y,suspend=n  

然后在 Eclipse 中,当我运行调试配置(端口号:8543)时,我得到
无法连接到远程 VM。拒绝连接。 连接被拒绝:连接

请告诉我
1)远程调试如何工作?
2)如何设置在 Eclipse 中使用 weblogic server 进行远程调试
3)以上两种方法有什么区别?
4)我需要在哪里在startWeblogic.cmd文件(顶部)中添加debug命令(-Xdebug....)
5) 的目的是什么>weblogic 服务器中的setDomainEnv.cmd 文件 ?

提前致谢

【问题讨论】:

标签: java eclipse weblogic remote-debugging eclipse-juno


【解决方案1】:

我认为在启动 Weblogic 之前设置环境变量就足够了。启动 cmd 和启动 weblogic set debugFlag=true 之前。这应该使 weblogic 打开调试端口,该端口应该设置为一些默认值,例如 8453。如果您想更改它,也可以set DEBUG_PORT=8888 或任何其他空闲端口。

启动 Weblogic 并验证端口是否已打开。您可以为此使用cportsProcessExplorer 之类的工具(或事件netstat)。

如果调试端口未打开,请检查您是否在开发模式下运行 Weblogic,因为在生产模式下可以忽略debugFlag

在 Eclipse 中创建远程调试配置(请记住,此选项在工具栏旁边的 Run configuration 中不可用):

在屏幕截图的第 3 点中,选择您部署到要调试的 weblogic 的项目。

它不起作用会发布您遇到的问题。

【讨论】:

  • debugFlag 在 setDomainEnv.cmd 文件中设置为 true。此外,添加了以下行 - 如果 "%debugFlag%"=="true" ( set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava. compiler=NONE set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea :com.bea.broker... -ea:com.bea.sbconsole... ) 否则(设置 JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -da )。然后在eclipse中,当我运行调试配置时,我无法连接到远程VM。连接被拒绝。
  • 你使用什么版本的 Weblogic?
  • 将 setDomainEnv.cmd 的内容发布到 somwhere。可以在一些外部服务上(pastebin?)。
  • 感谢您调查我的问题。除了在我的帖子中添加上面显示的 2 行代码外,我没有更改 setDomainEnv.cmd 文件中的任何内容。我还应该发布文件的内容吗?