3

我正在使用 Webshpere 7,但无法将调试器连接到 Webshphere。

我已经在命令行上尝试过这个......

/opt/IBM/WebSphere/AppServer/java/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:3389 Test

在地址中使用 0.0.0.0 使其工作!我可以从机器外部连接。

这似乎只是 Websphere 7(IBM JDK 1.6)的情况,Websphere 6(IBM JDK 1.5)没有这个“功能”

Websphere 的网页 (/ibm/console) 不允许我将其放入控制台页面。

Application servers > server1 > Debugging service

此页面上的“JVM 调试端口”不允许我输入 0.0.0.0:7777 作为端口号。

谁能告诉我在哪里可以输入这个值?

谢谢

4

1 回答 1

3

默认情况下,Sles Linux 不会在框外公开端口。

因此,通过网页(IBM/控制台)将 WS 中的调试端口设置为 7777,只会将端口内部暴露给盒子。要公开它,您需要输入“0.0.0.0:7777”,但网页不允许将其作为值。

所以要手动更改它,请转到盒子上的这个文件......

/opt/IBM/WebSphere/AppServer/profiles/WRSProfile/config/cells/WRSNodeCell/nodes/WRSNode/servers/server1/server.xml

然后将文件中的 7777 替换为 0.0.0.0:7777。(文件中有3个地方可以更改)

 <services xmi:type="debugservice:DebugService" 
 xmi:id="DebugService_1331818723840" enable="true" 
 jvmDebugPort="0.0.0.0:7777" 
 jvmDebugArgs="-agentlib:jdwp=transport=dt_socket,
 server=y,suspend=n,
 address=0.0.0.0:7777" 
 BSFDebugPort="4444" BSFLoggingLevel="0"/>
...
 <jvmEntries xmi:id="JavaVirtualMachine_1183122130078" 
 verboseModeClass="false" verboseModeGarbageCollection="false" 
 verboseModeJNI="false" maximumHeapSize="1024" runHProf="false" 
 hprofArguments="" debugMode="true" 
 debugArgs="-agentlib:jdwp=transport=dt_socket,
 server=y,suspend=n,
 address=0.0.0.0:7777" 
 genericJvmArguments="">

然后停止并启动服务器。

/opt/IBM/WebSphere/AppServer/bin # ./stopServer.sh server1

..

/opt/IBM/WebSphere/AppServer/bin # ./startServer.sh server1

您现在可以将调试器连接到机器!

于 2012-04-24T09:45:36.077 回答