以下是我使用的论点:
-Xmx1024m-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999
-Xmx1024m在不通过-agentlib的情况下工作正常,-agentlib在不通过Xmx的情况下工作正常。使用agentlib时可以设置最大堆大小吗?
我的jar文件通过C代码启动:

execlp(myJavaPath, myJavaPath, myDebugOptions,"-DFBLog4j=true","-jar","myJar.jar", NULL);

其中myDebugOptions包含字符*“-Xmx1024m-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999”。当我试图通过命令行(在Solaris 10中,JVM 1.6.0哏17)运行相同的命令时,它可以正常工作。

最佳答案

必须将每个命令行参数作为不同的参数传递给execlp。
执行的命令行与从命令行运行的命令行相同:

java '-Xmx1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999' -DFBLog4j=true -jar myJar.jar

实际上-Xmx和-agentlib也不能作为一个参数传递。

09-27 20:31