在Java小程序的启动,什么是"正在运行的JVM ARGS符合安全的子集QUOT;意思?

问题描述:

我试图在Java程序运行远程调试,但不能得到小程序连接到调试器(Eclipse的),也不会暂停。在启动过程中,我得到如下:

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>
...

我假设的最后一行就是为什么小程序无法正常调试的原因,但我可以找到关于此行的手段(或如何使我的-Xrunjdwp命令是安全)什么的文档。有谁知道在哪里可以找到这个文件?

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?

在来源,负责输出类的指示 -Xrunjdwp 不会一个问题:

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.