gpt4 book ai didi

java - 寻找一种更简单的方法来用 Java 编写调试打印语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:40 25 4
gpt4 key购买 nike

编辑:我很想阅读对 Steve Reed 的 AOP 方法的 react 。鼓励对他的回答发表评论!

我是一个新手,在某些时候我意识到在程序执行期间了解变量的内容会很有帮助。所以我开始这样做:

编辑:修复了这个问题。曾经是:var + ": "+ var,完全错了。愚蠢的错别字。

System.err.println ( "var: " + var );

后来我才知道这是常见的做法。至少,在调试器不可用或不需要的情况下。

我使用一个基本的文本编辑器,每次我需要调试一个变量时都输入 print 语句非常烦人,所以我想,为什么不用这样的东西:

void dbug ( Object obj )
{
String variableName = obj.somehowGetVariableName();
String variableContents = obj.toString();
System.out.println ( variableName +": " + variableContents );
}

但显然获取变量名说起来容易做起来难。

java-reflection-how-to-get-the-name-of-a-variable

我是否坚持:

System.err.println ( "var: " + var );

或者是否有流行的速记版本?

最佳答案

我不会尝试围绕打印调试信息编写任何花哨的方法。如果您使用记录器,请坚持使用 LOG.debug(...),否则请使用 System.err.println(...)

您可能希望使用 String.format("var=%s val=%s", "VarName", val) 而不是字符串连接。

确保覆盖每个类中的 toString 方法以提供有意义的调试信息。

在一天结束时,通常更容易启动调试器并查看发生了什么,而不必跟踪大量记录的调试行。

我唯一会使用你这种调试方法的情况是,如果我的应用程序在 map 中维护所有状态,我可以轻松打印出键值对(例如 Web 应用程序中的 session map )。

关于java - 寻找一种更简单的方法来用 Java 编写调试打印语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1239150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com