Windows 7 x64和最新的java版本(尽管u21没有更好的工作)
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)当尝试启动一个java应用程序以远程调试它时,我会得到以下错误:
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <application>
ERROR: JDWP option syntax error: -agentlib:jdwp=server=y transport=dt_socket address=4000 suspend=n但是,只有在使用PowerShell时,使用cmd.exe运行完全相同的命令才能像预期的那样工作。
发布于 2013-08-26 04:48:49
你能试试:
PS> $a = "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <application>"
PS> Invoke-Expression $a我想PowerShell试图在命令行中解释一些东西。这样,PowerShell只需执行。注意,如果您的应用程序名中有双引号,请使用前面的`。
您也可以尝试这一点,以配合您的电话。
$scriptBlock = {java -Xdebug <# This is comment param 1 #>`
-Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <# This is comment param 1 #>`
`"$($args[0])`"} <# Application Path #>
$ApplicationName = "c:\un chemin applicatif\toto"
Invoke-Command -ScriptBlock $scriptBlock -ArgumentList $ApplicationName我找到了,试试看
PS> $a = "java -Xdebug '-Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n' <application>"我刚刚在“”里面关闭了-Xrunjdwp参数。
发布于 2013-08-21 17:01:50
而不是:
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <application>试着使用:
java -agentlib:jdwp=server=y,transport=dt_socket,address=4000,suspend=n <application>后者用于目标VM为5.0或后者时,而forner用于目标VM早于5.0的机器。
资料来源: Oracle Docs
发布于 2017-06-13 19:05:14
我无法根据以上的答案找出它为什么不起作用。我用了跟踪器,它起了作用
-agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=yhttps://stackoverflow.com/questions/18363255
复制相似问题