为了账号安全,请及时绑定邮箱和手机立即绑定

什么是 OpenJDK “fastdebug” 构建模式?它与“释放”有何不同?

什么是 OpenJDK “fastdebug” 构建模式?它与“释放”有何不同?

有只小跳蛙 2022-01-19 09:34:38
OpenJDK“fastdebug”和“release”构建有什么区别?应用程序在“fastdebug”上的运行速度是否比在“release”上慢得多?我听说“fastdebug”在某种程度上“很好”,并且可以在互联网上找到很多来自寻找各种 OpenJDK 版本和各种平台的“fastdebug”构建的人的消息,或者解释如何手动准备这些构建,但是无法在任何地方找到“fastdebug”本质上的明确描述。
查看完整描述

1 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

请参阅此处的定义:


###############################################################################

# Set the debug level

#    release: no debug information, all optimizations, no asserts.

#    optimized: no debug information, all optimizations, no asserts, HotSpot target is 'optimized'.

#    fastdebug: debug information (-g), all optimizations, all asserts

#    slowdebug: debug information (-g), no optimizations, all asserts

AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],

是的,fastdebug 可以并且将会比 release 运行得慢,因为它会在此过程中断言很多。启用断言是用户在怀疑 JVM 错误时寻求 fastdebug 构建的原因:在发布构建中神秘地失败的地方,经常在 fastdebug 中有意义地断言。此外,fastdebug 允许更好的调试,因为它通常附带调试符号,并且它可以访问在发布版本中不可设置的“开发”JVM 标志。


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信