簡體   English   中英

如何逐步檢查python代碼以查找何時修改了變量?

[英]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 ,如果您使用的是類的方法)。

參考如何使用pdb。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM