0

I have a very large app that takes a value and makes it disappear SOMEWHERE and I want to see where it is going. So what I'm looking for the is the value of the variable so I can find out what variable is holding it. I'm hoping there is some sort of technique, possibly involving a classloader or reflection?

4

5 回答 5

1

不要认为有一个简单的方法可以通过调试器来完成,因为它可以让你指定变量名,而不是值名:)

您应该能够获取类的句柄并遍历它们并遍历类中的每个字段,例如:java:获取类中的所有变量名

根据您正在寻找的价值,您可能知道您正在寻找的类型,因此我建议您在进行检查之前添加一些类型检查。如果您有一个方法可以为您执行此操作,那么您可以构建一个包含结果的列表,然后您就可以使用调试器轻松检查该列表。

于 2013-09-18T19:24:33.130 回答
0

如果要在循环的迭代过程中捕获某个值,请使用 If 循环和该值以编程方式捕获该值。

您可以使用一些拦截来识别最后设置值的类。

你有什么例外吗?

于 2013-09-18T19:31:58.693 回答
0

取决于您的 IDE,但常见的(Eclipse、Netbeans、IntelliJ)允许您设置watches- 变量,您将在调试期间看到它们的值。此外,如果您设置断点 - 您可以将鼠标悬停在变量上,它将显示其值。

于 2013-09-18T19:20:47.030 回答
0

您是否考虑过使用诸如 Eclipse 之类的 IDE?有一些非常漂亮的调试功能可以让您在整个程序中跟踪变量并在程序暂停的代码中设置断点,您可以查看所有状态甚至更改它们。

于 2013-09-18T19:20:55.337 回答
0

如果您使用的是 Eclipse 或大多数 IDE,您可以设置断点,并使用调试器逐步执行您的流程并查看代码中每个变量的值。

如果您不使用 Eclipse 或大多数 IDE,您可能会考虑这样做,以便您可以使用调试功能。

于 2013-09-18T19:20:10.767 回答