![](/img/trans.png)
[英]How to print Java object's current value to console, instead of suspend thread while debug in the Eclipse?
[英]How to print Java object's current value in debug console in Eclipse?
我是Eclipse的新手。
在Objective-C中,我可以使用此命令在控制台窗口中打印對象的值。
po nameOfValue
也許是gdb
命令。 我現在正在使用Eclipse,這與Eclipse中的相同之處是什么?
PS我正在調試一個Java應用程序。
Eclipse具有非常強大的調試功能 - 遠遠超過Objective C.
首先,在調試時,您可以在“變量”窗口中查看所有變量的值。 此外,在“變量”窗口的下半部分,您可以鍵入任意Java,選擇它,右鍵單擊,然后選擇“檢查”或“執行”。 實際上,您可以在運行時以這種方式更改程序中變量的值。
您可以在源窗格中執行相同的操作。 突出顯示變量,右鍵單擊並選擇“檢查”。 您還可以鍵入隨機表達式並執行它。 您還可以將監視放在變量上(我相信您可以在Objective-C中執行)或表達式。
有一個表達式視圖默認不顯示(在菜單中選擇Window-> Views-> Expressions,而在Debug透視圖中)。 它允許您添加任意(有效)Java表達式,然后在調試會話的生命周期中監視這些表達式的值,非常漂亮。 感謝@Baldrick提醒這個偉大的工具。
System.out.println(nameOfValue);
在調試時,我不知道控制台中整個對象狀態的任何打印選項。
但是您可以覆蓋對象的toString()
方法,並將字符串與每個字段的值或您要為該對象打印的任何內容連接起來。 然后在代碼System.out.print(myObject);
調用某處時System.out.print(myObject);
它將打印您已覆蓋的toString()
方法的結果。
單擊窗口菜單,選擇顯示視圖類型顯示並顯示該視圖。 在此視圖中,您可以鍵入java,例如System.out.println(objectName);
當應用程序在調試期間暫停時。
覆蓋該對象/類的toString。 然后是System.out.println(objectVariable)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.