Intellij Idea Intellij调试器不会在断点处停止

5ssjco0h  于 2023-11-16  发布在  其他
关注(0)|答案(4)|浏览(122)

我一定是在这里做错了什么。我是intellij的新手。从eclipse切换。我有一个在weblogic上运行的JAX WS应用程序。要部署的工件是一个ear文件。我一直在努力让intellij上的调试器工作。我有终极版本。我确实创建了一个运行调试配置,但它只是通过代码,并没有停在我想要的位置。调试器显示一个红点没有支票和十字架

编辑-我正在运行“本地”运行/调试配置。

下面是我的运行/调试配置的屏幕截图。
x1c 0d1x的数据
下面是启动/连接的屏幕截图


zc0qhyus

zc0qhyus1#

我发现了我的问题所在,我认为这个问题是针对我和我的应用程序的性质。实际上,我应该称之为自我引发的问题。让我解释一下事件的性质。
1.我一直使用eclipse来开发和本地安装weblogic示例。我的应用程序需要一致性缓存服务器,并且我在启动域时传递的其他JVM参数很少。因此,我在$DOMAIN_HOME/bin/setDomainEnv.sh文件的开头添加了一行,如下所示
JAVA_OPTIONS="- Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine and blah blah blah
1.我切换到intellij并开始在这个项目上工作,然后配置weblogic插件和运行配置等。
1.我注意到intellij在运行/连接中的启动/连接选项卡中添加了一个JAVA_OPTIONS,如下所示
x1c 0d1x的数据
1.然而,intellij传递的JAVA_OPTIONS并没有被weblogic使用。我相信它被setDomainEnv.sh中的内容覆盖了,这就是为什么我看到了以下日志。

java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy -Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine blah blah blah......

1.当我从setDomainEnv.sh删除JAVA_OPTIONS并从intellij重新启动服务器时,我看到以下日志
starting weblogic with Java version: java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy -***agentlib:jdwp=transport=dt_socket,address=127.0.0.1:65501,suspend=y,server=n***
现在日志显示jdwp代理正在运行。我注意到在我问SO问题之前我没有看到那个特定的日志,但我想也许是IntelliJ在封面上做了什么,因为JAVA_OPTIONS正在传递,intellij不允许你弄乱它(它是只读的)。
我想我可以从intellij传递我所有的jvm参数,或者在setDomainEnv.sh中添加jdwp代理信息。
现在我可以调试了。

xxhby3vn

xxhby3vn2#

要在IntelliJ上设置Windows调试,请执行以下操作:
1.**查找调试端口:**这是调试器上公开的调试端口。默认调试端口是8453,但如果它被更改,您可以在DEBUG. xml(在域主目录的config文件夹下)或setDomainEnv.sh查找DEBUG_PORT(我假设它是.sh而不是.bat,因为您似乎使用Mac OS X)中找到它。
1.**远程调试器配置:**进入配置,选择new,然后选择“Remote”,输入任何合理的名称,并在端口(图像中的橙子块)下输入您在1中找到的值。对于主机(绿色块),输入localhost [旁注:如果调试端口暴露,您可以通过输入服务器主机名或IP连接到远程服务器]。
1.**启动调试器:**启动刚刚设置好的调试配置,会弹出调试窗口,如果端口正确,会提示已经连接到远程主机,可以调试了。
x1c 0d1x的数据
--编辑1--
再次阅读你的问题,错过了关于你已经设置了远程配置的部分。
如果您的程序是多线程的,则可能缺少断点,断点可能不会在您所在的当前线程上命中。
当远程配置工作时,调试器中有一个下拉列表,您应该能够在其中选择要调试的线程。
--编辑2 --
添加了远程调试器设置的图像

js81xvg6

js81xvg63#

删除配置并创建一个新的解决了我的问题。

mf98qq94

mf98qq944#

这对我很有效
在Intellij理念下
单击编辑配置转到运行并在下面添加命令spring-boot:run -Dspring-boot.run.fork=false
x1c 0d1x的数据

相关问题