【发布时间】:2019-09-04 08:39:44
【问题描述】:
我将 Quarkus 与 GraalVM 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