在IDE调试器(例如Java9 StackWalker)中隐藏堆栈框架

在IDE调试器(例如Java9 StackWalker)中隐藏堆栈框架

问题描述:

Java9的新功能使我意识到,如果Eclipse(最好是IntelliJ)可以配置为使用可以修改普通Call Stack视图的自定义StackWalker在IDE的调试器中。在IDE调试器(例如Java9 StackWalker)中隐藏堆栈框架

我想要做的是隐藏例如调试JavaEE程序时特定的技术堆栈条目,以及许多第三方支持库中。一般来说,我希望可以省略特定的(可定制的)通常不感兴趣的堆栈帧,例如基于包或类名的(通配符)。理想情况下,“步入”也会自动跳过这些帧,然后返回到“未压缩”堆栈帧内。

有谁知道这样的功能是否已经可以在Eclipse或IntelliJ中使用。如果它没有专门使用StackWalker,但是在概念上类似的话,那也没问题。或者你知道这个功能是否在IDE中计划。

一个很好的功能,让我想知道为什么两个IDE的核心功能都没有这个功能。

的Eclipse:

有人描述了如何做,没有Java9在Eclipse:https://*.com/a/27332733/3931225。 不幸的是,目前只适用于Eclipse Luna(4.4)。

他的工作基于Intersult的stackfilter plugin,该工具仅适用于Eclipse Indigo(3.7)。

没有任何过滤器的Eclipse调用堆栈: Eclipse no filter

Eclipse的调用堆栈与stackfilter插件: Eclipse with filter

的IntelliJ:

我没有发现任何方式过滤调用堆栈中IntelliJ,但它确实有一个step filter

+0

我不认为这个答案的任何一部分真的解决了这个问题。这个问题特别提到了调试器,而不是输出控制台。这两个选项都只能处理控制台。 –

+0

@E-Riz你是对的。我从我的答案中删除了IntelliJ控制台的东西,并为IntelliJ添加了一个步骤过滤器的链接。还添加了Eclipse插件的屏幕截图,以更好地显示它是关于调用堆栈,而不是输出控制台。 – KompjoeFriek

IntelliJ has调试器窗口中的堆栈过滤器。它可以让你隐藏不属于你自己代码的库中的条目。它是在栈帧窗口

img

一旦开启的右上角的小过滤漏斗图标,我只看到从我的代码来帧。据我所知,调试器尊重这种选择,并且只要存在属于您的代码的栈帧,就不会进入导致外部库的方法。

快速检查插件存储库没有发现任何有前途的插件提供附加功能。