Java内联调试代码
我在这里寻找一些最佳实践建议。我有一个库,我想在其中添加一些调试代码(想想System.out.println),只有在配置文件中设置了标志时才会执行该库 这是相当琐碎的,在我进行调试的过程中,它会有帮助调试程序所需的输出。尽管如此,在我的生产代码中会有很多if(DEBUG)语句浮动,这似乎是一个沉重的负担。我不太担心代码的效率,而更担心实际执行某项任务的语句的可读性,而不是那些仅用于调试的语句 我知道,对于大多数IDE,我可以简单地逐步完成代码,从而有效地为自己提供一个更手动的调试选项,但我发现对于任何充分迭代的代码库,这种方法比将内容转储到控制台更痛苦。我想另一种选择是使用具有调试设置的日志框架,但我仍然觉得额外的日志指令与将它们发送到控制台一样难看 这里有没有我错过的选择?他们的调试框架是用Java实现的吗?作为参考点,我想知道何时调用某些特定方法,以及执行过程中不同点上各种对象的字符串表示Java内联调试代码,java,debugging,Java,Debugging,我在这里寻找一些最佳实践建议。我有一个库,我想在其中添加一些调试代码(想想System.out.println),只有在配置文件中设置了标志时才会执行该库 这是相当琐碎的,在我进行调试的过程中,它会有帮助调试程序所需的输出。尽管如此,在我的生产代码中会有很多if(DEBUG)语句浮动,这似乎是一个沉重的负担。我不太担心代码的效率,而更担心实际执行某项任务的语句的可读性,而不是那些仅用于调试的语句 我知道,对于大多数IDE,我可以简单地逐步完成代码,从而有效地为自己提供一个更手动的调试选项,但我发
提前感谢。我不太理解您的问题,但我仍然建议您使用日志框架,如log4j,它允许您选择将日志信息生成到文件、数据库或控制台。使用system.out功能强大。我不太理解您的问题,但我仍然建议您使用日志框架,例如log4j,它允许您选择将日志信息生成到文件、数据库或控制台。使用system.out功能强大。您可以使用它不断注销生产代码,使其更易于阅读。使用正确的切入点,您可能也不需要编写几乎同样多的调试代码。如果您花费大量的时间调试,考虑单元测试或更具纪律性的开发方法。另外,当您应该抛出异常时,千万不要捕获异常并记录。您可以使用它继续从生产代码中注销,使其更易于阅读。使用正确的切入点,您可能也不需要编写几乎同样多的调试代码。如果您花费大量的时间调试,考虑单元测试或更具纪律性的开发方法。另外,不要捕获异常并在应该抛出时记录。在IntelliJ IDEA中,可以添加断点,将消息或计算表达式记录到控制台中。当它到达断点时,它将简单地记录并继续执行 我经常将其与条件断点结合使用,以充当调试语句,更清楚地了解我的代码在调试过程中所做的事情 最酷的是,您不必修改源代码,因为日志语句是在运行时由调试器添加的
我认为Eclipse也允许您这样做。在IntelliJ IDEA中,您可以添加断点,将消息或计算表达式记录到控制台中。当它到达断点时,它将简单地记录并继续执行 我经常将其与条件断点结合使用,以充当调试语句,更清楚地了解我的代码在调试过程中所做的事情 最酷的是,您不必修改源代码,因为日志语句是在运行时由调试器添加的
我认为Eclipse也可以这样做。如果代码可读性是一个很大的问题,他可以使用方面日志记录。如果代码可读性是一个很大的问题,他可以使用方面日志记录。