小编典典

是-Xdebug的存在,还是仅在单步执行代码时,Java应用程序会变慢吗?

java

我意识到Java代码在调试器中运行时会变慢

问题是,是否可以通过使用以下选项启动Java来简化代码:

Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

??

还是仅当您连接到“调试端口”并实际上使用IDE逐步执行代码时才会发生减速?


阅读 209

收藏
2020-10-20

共1个答案

小编典典

首先,要严格回答您的问题(至少如其标题所述),-Xdebug仅在5.0之前的JVM中使用JVMDI在 VM中启用调试支持
。因此,它本身并没有太大作用。此外,JVMDI是因为5.0不赞成赞成JVMTI

- Xdebug的
启动与支持JVMDI启用。JVMDI已被弃用,在J2SE 5.0中不用于调试,因此在J2SE 5.0中调试时不需要此选项。

所以-Xdebug不再做任何事情,重要的部分是:

-Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...

或者,从Java 5.0开始,较新的版本(您最好在5.0中作为JDWP代理使用该VM的JVM TI接口,而不是较旧的JVMDI接口):

--agentlib:jdwp=<name1>[=<value1>],<name2>[=<value2>]...

现在,据我所知,仅加载jwdp代理和/或配置JVM以侦听给定端口上的套接字连接不会对性能产生任何明显影响。但是连接调试器确实可以。

2020-10-20