[英]JDWP syntax error when using Powershell
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運行完全相同的命令才能正常工作。
你能試一下嗎 :
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 param。
代替:
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的機器
根據上述答案,我無法弄清楚它為什么不起作用。 我使用了以下,它的工作原理
-agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.