我必须在这里做错事。我是intellij的新手。从日食中切换。我有一个在weblogic上运行的JAX WS应用程序。要部署的工件是ear文件。我一直在努力让intellij工作的调试器。我有终极版。我确实创建了一个运行调试配置,但它只是通过代码而不是停在我想要的位置。调试器显示没有检查或交叉的红点。
编辑 - 我正在运行"本地"运行/调试配置。
以下是我的运行/调试配置的屏幕截图。
以下是启动/连接
的屏幕截图
答案 0 :(得分:8)
我弄清楚我的问题是什么,我认为问题是针对我和我的应用程序的性质。实际上我应该称之为自我引发的问题。让我解释事件的本质。
我一直在使用eclipse进行开发并在本地安装weblogic实例。我的应用程序需要一致性缓存服务器,并且我在启动域时几乎没有其他JVM参数。因此,我在$DOMAIN_HOME/bin/setDomainEnv.sh
文件的开头添加了一行,如此
JAVA_OPTIONS="- Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine and blah blah blah
我切换到intellij并开始处理这个项目,然后配置weblogic插件并运行配置等。
<强> 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......
强>
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不允许你搞砸它(它是readonly)。
我想我可以从intellij传递我的所有jvm参数,也可以在setDomainEnv.sh中添加jdwp代理信息。
现在我可以调试了。
答案 1 :(得分:4)
在IntelliJ上设置WebLogic调试:
查找WebLogic调试端口:这是WebLogic上用于调试的端口。默认的调试端口是8453但是如果它被更改了你可以在config.xml中找到它(在你的域home中的config文件夹下)或者setDomainEnv.sh找到DEBUG_PORT(我假设它是.sh而不是.bat as您似乎正在使用Mac OS X)。
远程调试器配置:转到配置并选择新配置,然后选择&#34; Remote&#34; ,键入任何合理的名称,并在端口下(图像中的橙色块)键入您在1中找到的值。对于主机(绿色块),键入localhost [旁注:您可以通过键入连接到远程服务器如果调试端口被暴露,那么服务器主机名或IP。
- 编辑1 -
再次阅读你的问题,错过了关于你已经设置了远程配置的部分。
如果您的程序是多线程的,可能会丢失断点,断点可能不会在您当前的线程上被点击。
当远程配置工作时,调试器中有一个下拉列表,您应该能够选择要调试的线程。
- 编辑2 -
添加了远程调试器设置的图像
答案 2 :(得分:0)
删除配置并创建一个新配置可以解决我的问题。