web-dev-qa-db-ja.com

EclipseのデバッグコンソールでJavaオブジェクトの現在の値を出力する方法は?

私はEclipseの初心者です。

Objective-Cでは、このコマンドを使用してコンソールウィンドウにオブジェクトの値を出力できました。

po nameOfValue

多分gdbコマンド。私は今Eclipseを使用していますが、Eclipseでこれに相当するものは何ですか?

P.S. Javaアプリをデバッグしています。

15
Eonil

Eclipseにはvery堅牢なデバッグ機能があります-ObjectiveCよりもはるかに優れています。

まず、デバッグ中に、[変数]ウィンドウですべての変数の値を表示できます。さらに、「変数」ウィンドウの下部で、任意のJavaを入力して選択し、右クリックして、「検査」または「実行」を選択できます。プログラムの実行中に、この方法でプログラム内の変数の値を実際に変更できます。

ソースペインでもほぼ同じことができます。変数を強調表示し、右クリックして、それを検査することを選択します。ランダムな式を入力して実行することもできます。変数(Objective-Cで実行できると思います)または式にウォッチを配置することもできます。

デフォルトでは表示されない式ビューがあります(デバッグパースペクティブで、メニューから[ウィンドウ]-> [ビュー]-> [式]を選択します)。任意の(有効な)Java式を追加すると、それらの式の値がデバッグセッションの存続期間にわたって監視され、非常に気の利いたものになります。これを思い出させてくれた@Baldrickに感謝します。素晴らしいツール。

22
Perception
System.out.println(nameOfValue);
5
Popescu Razvan

デバッグ中のコンソールでのオブジェクト全体の状態の印刷オプションを認識していません。

ただし、オブジェクトのtoString()メソッドをオーバーライドして、文字列を各フィールドの値またはそのオブジェクトに出力するものと連結することができます。次に、コードのどこかでSystem.out.print(myObject);を呼び出すと、オーバーライドしたtoString()メソッドの結果が出力されます。

2
isah

[ウィンドウ]メニューをクリックして、[ビュータイプの表示を表示]を選択し、そのビューを表示します。このビューでは、デバッグ中にアプリケーションが一時停止したときに、Java System.out.println(objectName);など)と入力できます。

1
James

そのオブジェクト/クラスのtoStringをオーバーライドします。次に、System.out.println(objectVariable)。

0
dcernahoschi