【问题标题】:Native binary debug with GraalVM CE使用 GraalVM CE 进行本机二进制调试
【发布时间】:2019-09-04 08:39:44
【问题描述】:

我将 QuarkusGraalVM CE 一起使用。

对于开发,可以使用 maven 启用调试模式,它工作正常。 但是在生成原生二进制文件(验证、生产平台)之后,调试的最佳实践是什么?可以使用哪些工具?

我找到了这个 post,但 @johnaohara 使用 GraalVM EE。 阅读GraalVM documentation,我了解到要在生产中使用具有调试功能的原生二进制文件,我们必须使用 GraalVM EE 并为此付费?

这意味着在现实世界中 Quarkus 应该使用 GraalVM EE 构建代码并且用户应该订阅对 Oracle 的支持?

请分享您对生产中的原生二进制文件以及如何调试和管理它的经验?

谢谢,

【问题讨论】:

  • 通过本机调试器(DBG|CDB 等)简单地附加到java.exe/|/usr/bin/java 进程,您可以使用 C/C++ IDE 进行提议(Visual Studio/Code::Blocks 等),它将允许您调试本机代码。 2. 强烈建议不要在生产环境中使用调试二进制文件。
  • @VictorGubinBuy 默认本机二进制文件不包含调试符号。此外,就我而言,java.exe/|/usr/bin/java 不再存在,因为 Graalvm 将我的 java 程序转换为二进制。
  • 那么调试 native-image-d 二进制文件以及调试生产服务器有什么意义呢?看来 slf4j/[logback|log4j] 是你唯一的选择。
  • 别担心,这将在稍后阶段解决。

标签: java debugging quarkus graalvm


【解决方案1】:

似乎调试本机映像是 EE 独有的功能。 https://www.graalvm.org/docs/reference-manual/aot-compilation/ 的文档说

-g 启用调试信息生成。警告:该选项仅适用于 GraalVM 企业版。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多