0

我正在尝试在 Ubuntu 14.04 64 位的 Rational Software Architect 9.6(基于 eclipse)中启用调试模式。我按照此链接中的说明设置插件调试支持

我创建了一个新的 eclipse_debug.ini 如下:

-vm
jdk/jre/bin/javaw
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444
-install
/opt/IBM/SDP_96
--launcher.GTK_version
--launcher.appendVmargs
2
-startup
plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
-vmargs
-Xquickstart
-Xms512m
-Xmx1536m
-Xmnx64m
-Xgcpolicy:gencon
-Xscmx96m
-Xshareclasses:name=IBMSDP_%u
-XX:MaxPermSize=512M
-Xcompressedrefs
-Xj9
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,onthrow=com.ibm.xtools.pluglets.ui.internal.debug.PlugletDebugException,address=8000
-Dcom.ibm.ws.management.event.max_polling_interval=1000
-Djava.util.Arrays.useLegacyMergeSort=true

然后我尝试使用以下命令午餐它:

/opt/IBM/SDP_96$ /opt/IBM/SDP_96/eclipse -product com.ibm.rational.rsa4ws.product.v96.ide --launcher.ini ./eclipse_debug.ini

但是它无法以以下错误消息开始:

JVM terminated. Exit code=160
/opt/IBM/SDP_96//jdk/jre/bin/javaw
-Xquickstart
-Xms512m
-Xmx1536m
-Xmnx64m
-Xgcpolicy:gencon
-Xscmx96m
-Xshareclasses:name=IBMSDP_%u
-XX:MaxPermSize=512M
-Xcompressedrefs
-Xj9
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,onthrow=com.ibm.xtools.pluglets.ui.internal.debug.PlugletDebugException,address=8000
-Dcom.ibm.ws.management.event.max_polling_interval=1000
-Djava.util.Arrays.useLegacyMergeSort=true
-jar /opt/IBM/SDP_96//plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /opt/IBM/SDP_96/eclipse
-name Eclipse
--launcher.library /opt/IBM/SDP_96//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444/eclipse_1617.so
-startup /opt/IBM/SDP_96//plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
--launcher.overrideVmargs
-exitdata 1ea20025
-install /opt/IBM/SDP_96 2
-product com.ibm.rational.rsa4ws.product.v96.ide
-vm /opt/IBM/SDP_96//jdk/jre/bin/javaw
-vmargs
-Xquickstart
-Xms512m
-Xmx1536m
-Xmnx64m
-Xgcpolicy:gencon
-Xscmx96m
-Xshareclasses:name=IBMSDP_%u
-XX:MaxPermSize=512M
-Xcompressedrefs
-Xj9
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,onthrow=com.ibm.xtools.pluglets.ui.internal.debug.PlugletDebugException,address=8000
-Dcom.ibm.ws.management.event.max_polling_interval=1000
-Djava.util.Arrays.useLegacyMergeSort=true
-jar /opt/IBM/SDP_96//plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar

它转储错误以命令屏幕中的以下内容开头

21:29:11.842 ERROR: [OptionParser.cpp:180] Specify launch=<command line> when using onthrow or onuncaught option
21:29:11.842 ERROR: [OptionParser.cpp:180] Specify launch=<command line> when using onthrow or onuncaught option
21:29:11.842  INFO: [Agent.cpp:345] JDWP error: Bad agent options: transport=dt_socket,server=y,suspend=n,onthrow=com.ibm.xtools.pluglets.ui.internal.debug.PlugletDebugException,address=8000
21:29:11.842  INFO: [Agent.cpp:345] JDWP error: Bad agent options: transport=dt_socket,server=y,suspend=n,onthrow=com.ibm.xtools.pluglets.ui.internal.debug.PlugletDebugException,address=8000
JVMJ9TI064E Agent initialization function Agent_OnLoad failed for library jdwp, return code -1
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000080

那么我正在做的事情有什么问题?我正在按照说明进行操作,但不清楚是什么问题。我验证了 ini 文件,它不包含任何隐藏字符。

我感谢您的帮助

4

1 回答 1

0

我尝试执行以下操作并且它有效.. 至少 eclipse 在调试模式下启动,并且我能够午餐插件调试器。

onthrow从上述-Xrunjdwp选项中删除了该部分,因此 eclipse_debug.ini 现在如下所示:

-vm
jdk/jre/bin/javaw
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444
-install
/opt/IBM/SDP_96
--launcher.GTK_version
--launcher.appendVmargs
2
-startup
plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
-vmargs
-Xquickstart
-Xms512m
-Xmx1536m
-Xmnx64m
-Xgcpolicy:gencon
-Xscmx96m
-Xshareclasses:name=IBMSDP_%u
-XX:MaxPermSize=512M
-Xcompressedrefs
#Added by A.Ibrahim
-Xj9
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
-Dcom.ibm.ws.management.event.max_polling_interval=1000
-Djava.util.Arrays.useLegacyMergeSort=true

现在这个选项是:

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

它工作正常。

于 2018-01-06T22:00:18.533 回答