6

Eclipse デバッガーで分析したいコレクションがいくつかあります。各要素の特定の属性に興味があります。

s のリストの例を見てみましょうPerson(それぞれにaddress属性があり、さらに属性がありcityます)。デバッガーでは、各要素を確認するか、list.get(i).address.city.

大きな構造に対してこれを行うことは、あまり役に立ちません。関数をデータ構造に適用する可能性はありますか。これは、Perl の関数に似たものですmap(コードではなくデバッガーで)。

入力は、関心のあるパス (Person.address.city) を含むリスト、出力は選択した要素のみを含むリスト (私の例では都市のリスト) になります。

パールでは:

map { $_->{address}->{city} } @list

編集

Detail FormatterStringで生成できます:

StringBuilder sb = new StringBuilder();
for (Person p : this) {
    sb.append(p.address.city());
    sb.append(", ");
}
return sb.toString();

これにより、興味のある要素だけでリストがフォーマットされます( としてString)。

List正しい方向に進んでいますが、デバッガーで分析できる新しいものを返すことができればいいと思います。

4

2 に答える 2

3

あなたが興味を持っている Eclipse Debugger 機能は論理構造と呼ばれるものだと思います。Eclipse 設定 (Java/デバッグ/論理構造) で論理構造を定義し、そのような式を (できれば) 記述してから、変数ビューでポップアップ メニューのリストの表示を置き換えることができます。

基本的なアイデアについては、次のブログ投稿を参照してください: http://www.javalobby.org/forums/thread.jspa?threadID=16736&messageID=91823528

于 2012-09-21T09:13:30.943 に答える
2

表示ビューは、各ブレークポイントでカスタム コードを実行する機能を提供します。ブレークポイントでデータ構造を読み取り、コンソールに出力するだけです。

于 2012-09-21T09:13:48.563 に答える