During Java applet startup, what does “Running JVM args match the secure subset” mean?

房东的猫 提交于 2019-12-11 01:50:00

问题


I am trying to run remote debugging on a Java applet, but cannot get the applet to connect to the debugger (Eclipse) nor will it suspend. During startup, I get the following:

...
    Match: digesting vmargs: -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y
    Match: digested vmargs: [JVMParameters: isSecure: false, args: -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y -Djava.compiler=NONE]
    Match: JVM args after accumulation: [JVMParameters: isSecure: false, args: -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y -Djava.compiler=NONE]
    Match: digest LaunchDesc: null
    Match: digest properties: [-Dsun.java2d.noddraw=true]
    Match: JVM args: [JVMParameters: isSecure: false, args: -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y -Djava.compiler=NONE -Dsun.java2d.noddraw=true]
    Match: endTraversal ..
    Match: JVM args final: -Xmx1g -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y -Xms512m -Djava.compiler=NONE -Dsun.java2d.noddraw=true
    Match: Running JREInfo Version    match: 1.7.0.15 == 1.7.0.15
     Match: Running JVM args match the secure subset: have:<-Xmx1g -Xdebug -Xms512m -Dsun.java2d.noddraw=true>  satisfy want:<-Xmx1g -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=y -Xms512m -Djava.compiler=NONE -Dsun.java2d.noddraw=true>
...

I am assuming that the last line is the reason why the applet is not debugging properly, but I can find no documentation on what this line means (or how to make my -Xrunjdwp command be "secure"). Does anyone know where to find documentation on this?


回答1:


The comment in the sources of the class that is responsible for the output indicate that -Xrunjdwp is not a problem:

// 2. Trusted command-line arguments. These come from
//    deployment.properties and are specified by the end user via the
//    Java Control Panel. It is important that such command-line
//    arguments do not affect the "secure" state of the target JVM.
//    For example, the user needs to be able to specify -Xdebug
//    -Xrunjdwp[...] via the Java Control Panel to enable debugging
//    of applets on the client machine without affecting the ability
//    of the target JVM to run unsigned applets. We consider trusted
//    command-line arguments in the satisfies() computation.

So although the sources should be a good 'documentation' for this, from a quick look, I don't see why this should not work.



来源:https://stackoverflow.com/questions/15012064/during-java-applet-startup-what-does-running-jvm-args-match-the-secure-subset

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!