我有一个大型(遗留)应用程序,我必须对其进行修复,其代码结构很糟糕,代码味道太多,让我窒息。我真的无法弄清楚 gui 中的字符串填充在哪里。因此,如果我能以某种方式在任何字符串(我不知道变量的名称或它在哪里)等于“foobar”时有一个表达式/断点,这样我就可以从那里回溯,那就太好了。
那么,我在寻找什么? :)
只要您要查找的字符串没有以任何方式进行硬编码,此技巧就有效。如果字符串被传递给编译器,那么这个技巧可能不起作用。
- 确保您已将源代码与 JDK 一起安装。
- Open
java.lang.String
类文件。您的 IDE 应该会自动显示此类的源代码。
- 在其中放置一个断点
char[]
场变量。每个 JDK 的变量名称可能有所不同。在我的机器上是private final char value[];
.
-
在此断点上设置一个条件,例如:
value!=null && value.length==6 && value[0]=='f' && value[1]=='o' && value[2]=='o' ....
请注意,由于此断点,性能会变慢。
我已经在一个简单的应用程序上测试了这一点,该应用程序从文件中读取字符串,并且当文件被读入字符串时,断点被正确命中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)