Netbeans 8 Debugger,如何使用高级格式化程序来查看变量值

时间:2014-12-12 12:01:43

标签: debugging netbeans

我真的需要我的工作,Netbeans调试器使用特定的格式化程序显示变量数据。 我还知道如何使用选项面板中的基本格式化程序配置,但在这种情况下我需要更强大的功能。

特别是我有一个包含复杂数据结构的“ToView”类。另一个名为“FormatItCorrectly”的类使用“format”方法,该方法将ToView类作为参数并将我想要查看的字符串返回到调试器中。

public String format(ToView instance); 

示例:

String desiredString = FormatItCorrectly.format(toViewInstance);

进入选项面板 - > Java - > Java调试器我添加了一个名为“自定义格式化程序”的新变量格式化程序,并将其作为类型“ToView”推出,现在我必须将其作为代码段添加到“由代码片段生成的值格式化”字段中?

1 个答案:

答案 0 :(得分:0)

在NetBeans中的“变量格式化程序”对话框中,您需要输入要使用自定义格式的类类型的完整包和类名。

因此,例如,您需要输入"类类型"字段为

com.myapp.ToView

假设您的类在com.myapp包中。

为了充分利用NetBeans中的自定义格式化程序,您应该在类ToView上添加一个方法,以便对其进行格式化。然后,此方法可以调用您的格式化程序来生成格式正确的字符串。

因此,您可以在ToView类上创建一个方法

public String format() {
  return FormatItCorrectly.format(this);
}

在NetBeans变量格式化程序对话框中,您将指定"值格式化为代码段"是:

format();

如果您不想将现有代码更改为" format()"方法,您可以定义要调用的自定义变量格式化程序并返回格式正确的对象。如下例所示,定义"变量格式化为代码片段的结果"是:

Class.forName("com.myapp.FormatItCorrectly");
return FormatItCorrectly.format(this);

您可以在这里看到我们必须使用Class.forName()方法将FormatItCorrectly类的实例加载到调试器中,以便我们可以调用它的format()方法。调试器只能调用范围内的类的方法以进行格式化,因此在我们尝试使用之前,我们需要确保FormatItCorrectly类在范围内。