2017-12-02 12 views
10

Java9の新バージョンStackWalkerは、通常のコールスタックビューを変更できるカスタムStackWalkerを使用するようにEclipse(できれば、IntelliJ)を設定できるなら、 IDEのデバッガにあります。IDEデバッガ(例えばJava9 StackWalker)のスタックフレームを隠す

私がやりたいことは、たとえば非表示にすることです。 JavaEEプログラムのデバッグだけでなく、多くのサードパーティのサポートライブラリでも、特定の技術的なスタックエントリを使用できます。一般的には、(ワイルドカードの)パッケージやクラス名に基づいて、通常は関心のない特定の(カスタマイズ可能な)スタックフレームを除外するオプションが必要です。理想的には、「ステップイン」は自動的にそのようなフレームをスキップし、「抑止されていない」スタックフレーム内に戻るまでステップします。

このような機能がEclipseまたはIntelliJですでに使用可能かどうかは誰にも知られていません。 StackWalkerを特に使用していないが概念的に似ているのであれば問題ありません。または、そのような機能がどちらのIDEで計画されているか知っていますか?

答えて

2

なぜ私は両方のIDEがコア機能にこれをまだ持っていないのか疑問に思う素晴らしい機能です。

のEclipse:

誰かがEclipseでJava9せずにそれを行う方法を説明した:https://stackoverflow.com/a/27332733/3931225。 悲しいことに、現在はEclipse Luna(4.4)でしか動作しません。

彼の作品はIntersultのstackfilter pluginに基づいており、Eclipse Indigo(3.7)までしか動作しません。

任意のフィルタなしのEclipseコールスタック: Eclipse no filter

stackfilterプラグインと

Eclipseのコールスタック: Eclipse with filter

IntelliJの:私は、コールスタックをフィルタリングする方法を見つけることができませんでした

IntelliJ、しかしそれは持っていますstep filter

+0

私はこの回答のいずれかの部分が実際に質問に対処しているとは思わない。質問には特に、出力コンソールではなく、デバッガについて言及しています。これらのオプションはどちらもコンソールのみを処理します。 –

+0

@ E-Rizあなたは正しいです。私は自分の答えからIntelliJコンソールのものを削除し、IntelliJのステップフィルタへのリンクを追加しました。 Eclipseプラグインのスクリーンショットも追加され、出力コンソールではなくコールスタックに関するより良いことが分かりました。 – KompjoeFriek

2

IntelliJがデバッガウィンドウのスタックフィルタ。それはあなた自身のコードではないライブラリからエントリを隠すことができます。それは私が唯一の自分のコードから来るのフレームを参照してください、

img

が一度オンにスタック・フレームウィンドウの右上隅にある小さなフィルターホッパーのアイコンです。私が知る限り、デバッガはその選択を尊重し、コードに属するスタックフレームがある限り、外部ライブラリにつながるメソッドには進まない。

プラグインリポジトリをすばやく確認しても、追加の機能を提供する有望なプラグインは見つかりませんでした。