java - 有没有办法在远程调试期间搜索堆栈中当前位置可用的变量?

标签 java eclipse debugging

我正在远程调试 Java 应用程序(这不是第一次),我发现自己正在寻找一个值,但不知道哪个变量可能保存该值(如果有的话)。这是特别难找到的,因为我正在逐步浏览库代码而不是我自己的代码,所以我想知道;由于 Eclipse 可以显示堆栈上当前可用的变量以及所有包含的值,有什么方法可以搜索这些变量吗?或者至少将其作为文本转储到某个地方并 grep 或其他东西。

最佳答案

我通常使用 Jackson 导出到 JSON的ObjectMapper每当我发现自己陷入必须在调试时捕获的一堆值中进行搜索的情况时。在断点命中时,假设我想在 myObj 的文本表示形式中搜索某个字符串,这可能是一些带有嵌套对象的困惑的 POJO。只需评估以下内容:

org.codehaus.jackson.map.ObjectMapper mapper = new org.codehaus.jackson.map.ObjectMapper();
mapper.writeValue(new java.io.File("/tmp/myObj.json"), myObj);

然后在刚刚创建的文件中 grep 你的值。 YMMV:如果您不知道从哪里开始搜索,您将不得不迭代堆栈上的可用内容。此外,JSON 表示形式可能并不适合所有类型的搜索。

关于java - 有没有办法在远程调试期间搜索堆栈中当前位置可用的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7890821/

相关文章:

java - 从 msgraph api 下载 csv 报告

java - String.split() 不作用于分号或空格定界符

java - eclipse中tomcat发布JS文件

android - 无法在 AVD 中创建模拟器

java - 在 IntelliJ 中调试(重新加载更改的类)

c++ - 我的调试器运行的代码似乎与我正在构建的代码不同

java - 检查数据库中是否有空记录

java - 如何使用相同数据的重试分析器在 TestNG 中执行失败的测试?

eclipse build.gradle 有一个红色斜线穿过它,这是什么意思?

python - PDB:如何检查嵌套堆栈帧中函数的局部变量?