use*_*782 4 java debugging intellij-idea
我在我们的应用程序中遇到了一些奇怪的文本格式,我需要找到原因。问题是我不知道从哪里开始查看我们的旧代码。
是否可以让 IntelliJ IDEA 调试器在 JVM 中的应用程序的整个实例中搜索值?与通常使用条件设置断点的方式相反。
从这个问题的评论来看,IntelliJ中没有这样的功能。
不过,您可以尝试执行堆转储,然后使用OQL进行搜索。可以在与 JDK 捆绑在一起的VisualVM工具中完成:
jvisualvm
有 JDK 的文件夹)。bin
PATH
前往OQL 控制台视图。在查询编辑器中,键入您的查询,例如:
select s from java.lang.String s where s.toString().contains("hello")
Run Code Online (Sandbox Code Playgroud)
并执行它。
这应该会让您更接近您的对象所使用的类/对象。
有一些棘手的部分:
另一个用于堆转储分析的工具是Eclipse Memory Analyzer (MAT)。(对于您的用例,请在分析堆转储之前启用“保留无法访问的对象”选项。)
您提到您需要在运行时搜索该值。但是,如果您怀疑要查找的是字符串文字,请尝试按照此答案中的描述搜索应用程序的 JAR 。
归档时间: |
|
查看次数: |
515 次 |
最近记录: |