java - 使用 Netbeans 和 Java 在调用堆栈上设置条件断点

标签 java debugging netbeans conditional-breakpoint

就像this question ,在调试应用程序的时候,我想让应用程序只在当前调用栈有某个方法的时候才在断点处暂停。但是,我使用的是 Netbeans。

在 Java 中,可以通过多种方式获取当前调用堆栈,例如

Thread.currentThread().getStackTrace()

返回堆栈跟踪元素的数组。

是否可以在一行中遍历数组(或转换后的列表)、检查方法名称并返回一个 boolean 值?

或者,如果我需要编写一个方法来检查数组并根据感兴趣的方法的存在返回 boolean 值,我应该把它放在哪里?

最佳答案

根据我的具体要求,在 Java 8 中使用 lambda 和流:

Arrays.asList(Thread.currentThread().getStackTrace())
      .stream()
      .anyMatch(e -> e.getMethodName().contains("fetchByABC"))

关于java - 使用 Netbeans 和 Java 在调用堆栈上设置条件断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869778/

相关文章:

.net - .NET Release模式构建中是否提供堆栈跟踪信息?

java - 我可以从扩展 JFrame 而不是 JPanel 的类调用 componentShown() 方法吗?如果是,如何?

java - Solr:从字段中删除双引号字符

java - 调试 Apache Tomcat。哎呀!谷歌浏览器无法连接。为什么?

java - 为什么出现错误 "Error creating bean with name ' ** *': Unsatisfied dependency expressed through field ' ** *'"

debugging - GDB 中的键映射

java - 如何使用 org.netbeans.swing.outline?

java - 在 Netbeans 7.4 中将 Java 应用程序转换为 JApplet

Java XMLStreamWriter : Outputting Unicode extended characters (non-BMP)

java - Mac OS Catalina 上的 SAP Hybris