Wing IDE具備一個十分有用的特性,就是處理複雜bug的時候能夠以各類各樣的方式查看調試數據值。這個功能具體是由Watch工具實現的: 框架
查看數據值 工具
在PrintAsHTML中發生異常時,右鍵單擊Stack Data工具中的本地數值。這將顯示如下選項,可隨着時間的變化查看數值: lua
Watch by Symbolic Path——將致使Wing IDE在當前堆棧中尋找帶有符號名稱的消息。當你選擇這個選項時,Watch面板將會顯示一個條目: spa
news <list 0x40401eec> 調試
(對象ID固然會有所不一樣) 對象
可用於快速訪問數值,無需在Stack Data視圖中挖掘很長的本地或者全局變量列表。 進程
因爲在調試會話中具備郵儲,因此在用戶清除以前都將被記錄在Watch工具中。 事件
Watch by Direct Reference——這致使Wing IDE對特定對象實例(列表)保持一個引用。它將被即時顯示在Watch工具中。若是對象實例的引用計數爲零,Wing IDE將報告<value not found>。 get
這對於在調試不帶有引用或者是沒法到達引用實例的代碼部分時查看對象是很是有用的。 變量
因爲對象引用在調試會話時是沒有意義的,因此一旦調試進程終止這些條目將從Watch工具中刪除。
Watch by Parent Slot -- 結合了上述兩種模式,經過對所選擇的值的源部分保證一個引用和經過符號名稱查找子部分來實現。
若是在本地事件中進行嘗試,用戶將在看價值在特定的本地目錄中查看值,而不是在當前堆棧框架的事件中。
這種技術在工做於面向對象的代碼時很是有用,它能夠用來觀察特定的對象實例的特定屬性。
因爲源部分被對象引用追蹤,一旦調試過程結束,這些條目也將從Watch工具中清除。
Watch by Module Slot——經過在sys.modules中查找模塊名稱並追蹤值,該選項能夠用來觀察模塊內部的值。該選項只有在右鍵單擊Modules模塊工具的值以後才能進行使用。
由於這些在調試會話過程當中會起到做用,因此在被用戶刪除以前將保留在Watch工具中。
查看錶達式
用戶也能夠在Watch面板中查看任何Python表達式。只需點擊Watching列的空白部分,並輸入想要看的表達式:
在調試還停留在PrintAsHTML異常的時候,經過輸入:
news[-1]
若是不能肯定值,只要有<undefined>或者<error evaluating>的其中一個,就將顯示消息的最後一項。
表達式將記錄在全部調試回話的Watch工具中,直到被用戶刪除。