Java IDE中的释放与调试模式

Java IDE中的释放与调试模式,java,ide,release-management,Java,Ide,Release Management,我一直想知道在各种IDE(VisualStudio、Netbeans等)中有哪些不同的“部署模式”(发布模式、调试模式等)。我确信,它们的含义因IDE支持的语言和平台而异,但将项目标记为“调试”而不是“发布”模式必须有一个共同的基本意图 这些模式之间有什么区别?IDE在编译/运行/部署时如何区别对待它们?有没有一种方法可以让您自定义自己的模式(“开发模式”、“质量保证模式”等)?如果是,典型的自定义设置是什么 谢谢 在大多数情况下,您可以使用此模式打开和关闭某些调试信息(日志记录) 就我记忆所及

我一直想知道在各种IDE(VisualStudio、Netbeans等)中有哪些不同的“部署模式”(发布模式、调试模式等)。我确信,它们的含义因IDE支持的语言和平台而异,但将项目标记为“调试”而不是“发布”模式必须有一个共同的基本意图

这些模式之间有什么区别?IDE在编译/运行/部署时如何区别对待它们?有没有一种方法可以让您自定义自己的模式(“开发模式”、“质量保证模式”等)?如果是,典型的自定义设置是什么


谢谢

在大多数情况下,您可以使用此模式打开和关闭某些调试信息(日志记录)


就我记忆所及:例如,在.net/Visual Studio中,您甚至可以使用它来定义依赖于此模式控制的某些变量编译的代码段@请参见

通常,调试模式包含所有可能形式的调试信息,这些信息在发布模式中被剥离

这是从运行生成的代码的本地语言(如C)继承的。Java的问题要小得多,因为典型的用法是通过JVM执行额外的编译步骤

调试信息即使对于发布模式构建也可能非常方便,因为它允许JVM在堆栈跟踪等方面提供更详细的信息。

在某些IDE(主要是C、C++)中,调试模式还将变量初始化为0。如果某些东西在调试模式而不是发布模式下工作,您需要记住这一点。

您可以在build.xml文件中设置
debug=“off”


指示是否应使用调试信息编译源;默认为关闭。

谢谢!在对这个问题的另一个回答中,@Ralph还提到,发布模式去掉了所谓的“调试信息”。您(或其他任何人!)能否详细说明此信息是什么以及它由什么组成?让我们以NetBeans/Java为例。谢谢据我所知,Java类的调试信息是字节码的行号信息,以及局部变量和参数的名称。在没有源代码的情况下单步执行调试器时非常非常有用。因此,如果我理解正确,您建议保留生产组件的“调试”版本,以便即使在无法访问源代码的prod环境中,您仍然可以将调试器附加到它并使用调试信息?谢谢谢谢@Ralph!生成的日志是在发布模式中被忽略的唯一调试信息类型,还是有更多的“东西”?至于日志,比如说NetBeans会生成什么样的调试类型日志,这些日志中包含什么?