[英]pdb from base class, get inside a method of derived class
我需要在基類中使用pdb.set_trace()
。 它有一個方法:
def run(self, *args, **kwargs):
raise NotImplementedError
由於此基類是由許多子類派生的,因此我事先都不知道需要進入哪個類的run()
方法。 還可以對run()
方法的參數進行一些預處理。 因此,當pdb達到要求時,
q=self.run(arguments)
然后按s
,就好像我next
命令一樣。
如何使用pdb進入派生類的run()
方法並在那里調試代碼?
如果此示例滿足您的問題,則可以正常工作:
base.py:
class basebase():
print("something")
def fun(self):
print("hello")
def getobj(obj):
obj.fun()
print("run")
intermediate.py:
from base import basebase
class inter(basebase):
print("nothing")
derived.py:
from intermediate import inter
class der(inter):
def fun(self):
print("world")
main.py:
from derived import der
from base import basebase
obj=der()
basebase.getobj(obj)
現在,只需將pdb.set_trace
添加到getobj()
方法。 問題解決了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.