2016-04-04 56 views
0

我正在運行一個python腳本。在這個腳本中,我輸入的功能從另一個模塊,如:Python:我可以在導入的函數中設置pdb.set_trace()

from preprocessing import train_batch 

train_batch函數被調用在我運行該腳本。現在要查看train_batch的更多詳細信息,我找到preprocessing.py並在train_batch中插入pdb.set_trace(),preprocessing.py,但它不起作用。

所以我想問:我可以在導入的模塊中使用pdb.set_trace()嗎?如果可以的話,那麼這意味着我找到的模塊是錯誤的,我需要找到合適的地方。如果我不能,那麼有沒有什麼好方法可以檢查導入的函數?

回答

2

您可以在Python代碼*中的任何位置執行import pdb; pdb.set_trace()。如果它「不起作用」,我假設你的意思是你從來沒有投入pdb。這意味着這行代碼沒有被執行。

您可以在pdb中使用's'命令進入代碼,即使它不是您自己的代碼。只要它是Python而不是C代碼,你應該沒問題。我不確定C代碼會發生什麼。

  • 除了lambda。但一般情況下,任何地方
+0

非常感謝您的回答! – gladys0313

0

是的。 pdb.set_trace()只是一個函數調用;你可以把它放在任何你可以放任何其他函數調用的地方。

+0

感謝您的回答 – gladys0313

相關問題