gpt4 book ai didi

java:jdwp会降低性能吗?

转载 作者:行者123 更新时间:2023-11-30 06:06:37 25 4
gpt4 key购买 nike

众所周知,jdk 5之后,调试不再需要指定-Xdebug,而是使用-agentlib:jdwp,但这是否意味着 Debug模式消失了?这是否意味着 java 程序将在正常模式下运行而不会影响任何性能,而您仍然可以随时附加它来调试它?

与 C/C++ 相比,只要不删除调试符号,您就可以调试在优化模式下编译的应用程序,尽管在优化模式下调试并不那么精确,例如由于某些函数是内联的或被消除的。那么顺便说一句,当您在构建应用程序时需要小心时,java 是否有调试符号/信息的概念?

最佳答案

As known, after jdk 5, no need to specify -Xdebug for debugging, instead, use -agentlib:jdwp, but does it mean debug mode is gone?

是的。老式的 Debug模式已经消失。 (现代 JVM 会忽略 -Xdebug 选项。)

And does it mean the java program would run in normal mode without any performance trade-off, while you could still attach it anytime you want to debug it?

参见Overhead of enabling JVMTI *capability* to query local variables例如。

存在一些性能权衡1,但小于-Xdebug。 JVMTI 代理会抑制某些 JIT 编译器优化,但不是全部。

Does java have the concept of debug symbols/info when you need to take care when building the app?

是的,确实如此。请参阅 javac-g 选项。

<小时/>

1 - 大多数消息来源都说成本很小或可以忽略不计,但我看到一条评论声称性能下降了 10 倍。目前尚不清楚这是否是 -agentlib:jdwp 的成本……或者评论者使用代理做了什么。例如,如果启用进入/退出跟踪,则性能成本会很高。不幸的是,这都是轶事......

关于java:jdwp会降低性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com