[英]How can I step through python code to find when a variable is modified?
我正在編寫一個定義類SpatialPooler的python程序。 此類的對象具有內部布爾變量self._learn和另一個內部變量self._data。 當self._learn ==假,self._data 不應該由SpatialPooler的主要方法改變。
我還有另一個python文件,該文件創建實例化此類的對象,然后運行測試場景。 啟用學習后,輸出將達到預期。 但是,當學習被關閉時,出了點問題,self._data被修改了,但是我找不到在代碼中發生的地方。
有沒有一種方法可以逐步檢查代碼以查找在哪里修改了此變量? pdb似乎是一種允許我執行此操作的工具,但是我的代碼實際上並未引發任何警告或錯誤,並且我找不到關於如何完成查找不適當修改的功能的任何說明。 self._data變量。
任何建議或技巧將不勝感激。
告訴您確切的位置是很困難的,但是您可以在代碼中的某處添加一個pdb語句。
具體來說,添加import pdb; pdb.set_trace()
import pdb; pdb.set_trace()
在代碼中的某個位置(可能是您提到的主要功能),並且當程序到達該行時,它將進入調試器。 然后,您可以逐步執行代碼(輸入n
)。 您只需輸入變量名稱即可看到變量值( self._data
,如果您使用的是類的方法)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.