以下是我使用的论点:
-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也不能作为一个参数传递。