首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Powershell时JDWP语法错误

使用Powershell时JDWP语法错误
EN

Stack Overflow用户
提问于 2013-08-21 16:47:11
回答 3查看 4.9K关注 0票数 2

Windows 7 x64和最新的java版本(尽管u21没有更好的工作)

代码语言:javascript
复制
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应用程序以远程调试它时,我会得到以下错误:

代码语言:javascript
复制
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运行完全相同的命令才能像预期的那样工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-26 04:48:49

你能试试:

代码语言:javascript
复制
PS> $a = "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <application>"
PS> Invoke-Expression $a

我想PowerShell试图在命令行中解释一些东西。这样,PowerShell只需执行。注意,如果您的应用程序名中有双引号,请使用前面的`。

您也可以尝试这一点,以配合您的电话。

代码语言:javascript
复制
$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

我找到了,试试看

代码语言:javascript
复制
PS> $a = "java -Xdebug '-Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n' <application>"

我刚刚在“”里面关闭了-Xrunjdwp参数。

票数 3
EN

Stack Overflow用户

发布于 2013-08-21 17:01:50

而不是:

代码语言:javascript
复制
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n <application>

试着使用:

代码语言:javascript
复制
java -agentlib:jdwp=server=y,transport=dt_socket,address=4000,suspend=n <application>

后者用于目标VM为5.0或后者时,而forner用于目标VM早于5.0的机器。

资料来源: Oracle Docs

票数 1
EN

Stack Overflow用户

发布于 2017-06-13 19:05:14

我无法根据以上的答案找出它为什么不起作用。我用了跟踪器,它起了作用

代码语言:javascript
复制
-agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18363255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档