原創|使用教程|編輯:郝浩|2013-10-17 10:24:57.000|閱讀 536 次
概述:
Wing IDE具有一個十分有用的特性,就是處理復雜bug的時候可以以各種各樣的方式查看調試數據值。這個功能具體是由Watch工具實現的。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Wing IDE具有一個十分有用的特性,就是處理復雜bug的時候可以以各種各樣的方式查看調試數據值。這個功能具體是由Watch工具實現的:
查看數據值
在PrintAsHTML中發生異常時,右鍵單擊Stack Data工具中的本地數值。這將顯示以下選項,可隨著時間的變化查看數值:
Watch by Symbolic Path——將導致Wing IDE在當前堆棧中尋找帶有符號名稱的消息。當你選擇這個選項時,Watch面板將會顯示一個條目:
news <list 0x40401eec>
(對象ID當然會有所不同)
可用于快速訪問數值,無需在Stack Data視圖中挖掘很長的本地或者全局變量列表。
由于在調試會話中具有郵儲,所以在用戶清除之前都將被記錄在Watch工具中。
Watch by Direct Reference——這導致Wing IDE對特定對象實例(列表)保持一個引用。它將被即時顯示在Watch工具中。如果對象實例的引用計數為零,Wing IDE將報告<value not found>。
這對于在調試不帶有引用或者是無法到達引用實例的代碼部分時查看對象是非常有用的。
由于對象引用在調試會話時是沒有意義的,所以一旦調試進程終止這些條目將從Watch工具中刪除。
Watch by Parent Slot -- 結合了上述兩種模式,通過對所選擇的值的源部分保證一個引用和通過符號名稱查找子部分來實現。
如果在本地事件中進行嘗試,用戶將在看價值在特定的本地目錄中查看值,而不是在當前堆棧框架的事件中。
這種技術在工作于面向對象的代碼時非常有用,它可以用來觀察特定的對象實例的特定屬性。
由于源部分被對象引用追蹤,一旦調試過程結束,這些條目也將從Watch工具中清除。
Watch by Module Slot——通過在sys.modules中查找模塊名稱并追蹤值,該選項可以用來觀察模塊內部的值。該選項只有在右鍵單擊Modules模塊工具的值之后才能進行使用。
因為這些在調試會話過程中會起到作用,所以在被用戶刪除之前將保留在Watch工具中。
查看表達式
用戶也可以在Watch面板中查看任何Python表達式。只需點擊Watching列的空白部分,并輸入想要看的表達式:
在調試還停留在PrintAsHTML異常的時候,通過輸入:
news[-1]
如果不能確定值,只要有<undefined>或者<error evaluating>的其中一個,就將顯示消息的最后一項。
表達式將記錄在所有調試回話的Watch工具中,直到被用戶刪除。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網