Eclipse 条件断点,在任何字符串等于处断点

2024-01-10

我有一个大型(遗留)应用程序,我必须对其进行修复,其代码结构很糟糕,代码味道太多,让我窒息。我真的无法弄清楚 gui 中的字符串填充在哪里。因此,如果我能以某种方式在任何字符串(我不知道变量的名称或它在哪里)等于“foobar”时有一个表达式/断点,这样我就可以从那里回溯,那就太好了。

那么,我在寻找什么? :)


只要您要查找的字符串没有以任何方式进行硬编码,此技巧就有效。如果字符串被传递给编译器,那么这个技巧可能不起作用。

  1. 确保您已将源代码与 JDK 一起安装。
  2. Open java.lang.String类文件。您的 IDE 应该会自动显示此类的源代码。
  3. 在其中放置一个断点char[]场变量。每个 JDK 的变量名称可能有所不同。在我的机器上是private final char value[];.
  4. 在此断点上设置一个条件,例如:

    value!=null && value.length==6 && value[0]=='f' && value[1]=='o' && value[2]=='o' ....
    

请注意,由于此断点,性能会变慢。

我已经在一个简单的应用程序上测试了这一点,该应用程序从文件中读取字符串,并且当文件被读入字符串时,断点被正确命中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse 条件断点,在任何字符串等于处断点 的相关文章

随机推荐