Javaコードのデバッグ中、ビュー「変数」と「式」の文字列は特定の長さまでしか表示されません。その後、Eclipseは「...」を表示します。
文字列全体を検査する方法はありますか?(これにより、どこでもデバッグするためのロギングステートメントを追加する手間が軽減されます)
Javaコードのデバッグ中、ビュー「変数」と「式」の文字列は特定の長さまでしか表示されません。その後、Eclipseは「...」を表示します。
文字列全体を検査する方法はありますか?(これにより、どこでもデバッグするためのロギングステートメントを追加する手間が軽減されます)
回答:
変数ビューで、詳細ペイン(文字列コンテンツが表示されるセクション)を右クリックして、[最大長...]ポップアップメニューを選択できます。同じ長さが、式インスペクターのポップアップと他のいくつかの場所に適用されます。
では変数は、変数を右クリックし、表示値の変更を。変数が大きい場合、数分待つ必要があります(この場合、Eclipseはコマンドに応答しません)が、最終的にEclipseは変数を完全に表示します。
"data:image/bitmap;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQE... (length: 22869)"
。「最大長」オプションが機能せず、「値を変更」も設定します。
本当に長い文字列がある場合は、別の方法を使用します。それをファイルにダンプします。データをファイルにダンプするために評価される、Displayビューで使用するコードのスニペットがあります。Commons IOを使用していますが、JDKのみのメソッドで実行できます。
org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File("<filename>"), <expression to evaluate>);
もちろん、それを機能させるには、クラスパスにCommons IO JARが必要です。そうでない場合は、JDKを使用してください。
Eclipseデバッグビューから文字列値を表示する最良の方法は次のとおりです。
1)Eclipseでデバッグビューに切り替えます
2)変数ペインで目的の変数を選択します。
3)値が表示されている変数ペインの表示領域を右クリックし、[最大長]をクリックします。[詳細の構成]ウィンドウに最大文字数を入力します。
4)乾杯
EclipseでのJavaScriptベースのデバッグの場合、「値の変更」メソッドと「最大長」メソッドの両方が失敗しました。必要なオブジェクトをwatch(Expressions)に追加し、監視された式を右クリックして「Load Full Value」を選択することが唯一の解決策ですそれは私にとってはうまくいきますが、これでも出力に不要な「\ n」が挿入されます。
注 -「最大長」は、「最大値をロード」が最大長まで値をロードするときに機能するように設定する必要があります(Eclipseのデフォルトは10000です)。最大長の設定方法については、上記の回答を参照してください。
Eclipse Marsには「maxLength」はありません。また、「値の変更」は「変数」でのみ機能し、「式」では機能しないため、上記のいずれも機能しません。
そして、表現は最後ではなく、途中でカットされます。彼らはデフォルトの動作を変更したと思います。
私にとって唯一有効なのは、式名の列の幅を拡張し、式をクリックしてすべてを選択して、完全な長さのコンテンツを表示することです。
上記のことは何もうまくいきませんでした。さらに、私のEclipseの一部のユーザーインターフェイス要素が説明のように見つかりません。STS 4.3.1を使用しています。
必要な値は本当に大きく、巨大なJSONリクエストの一部です。回避策は、Eclipse Debug Shellコンソールで式を使用し、値全体のサブストリングを出力することです。部分的な値が表示されるので、それを調べて、最後のいくつかのリテラルを文字列の次のチャンクを出力する位置として使用します。必要なものが得られるまで、このアプローチを繰り返します。
String result = new String(reallyBigByteArrayValue, "UTF-8");
result.substring(result.indexOf("some-unique-text"));