2016-04-04 14 views
0

私はPythonスクリプトを実行しています。このスクリプトでは、私のような別のモジュールから関数をインポートします。Python:インポートされた関数にpdb.set_trace()を設定できます

from preprocessing import train_batch 

train_batch機能は、私が実行しているスクリプトで呼ばれています。今度はtrain_batchを確認するため、preprocessing.pyがあり、train_batchpdb.set_trace()preprocessing.pyに挿入しても機能しません。

質問:私はpdb.set_trace()をインポートされたモジュールで使用できますか?私ができるなら、これは私が見つけたモジュールが間違っていることを意味し、正しい場所を見つける必要があります。私ができない場合は、必要に応じてインポートされた関数をチェックする良い方法がありますか?

答えて

2

import pdb; pdb.set_trace()は、Pythonコード*のどこにでも配置できます。それが "うまくいかない"場合、私はあなたがpdbに落ちたことがないということを意味します。これは、コード行が実行されていないことを意味します。

自分のものでない場合でも、pdbの 's'コマンドを使用してコードにステップインすることができます。 CコードではなくPythonであれば、うまくいくはずです。私はCコードがどうなるか分かりません。

  • ラムダを除いて。しかし、一般的にはどこでも
+0

ありがとうございました! – gladys0313

0

はい。 pdb.set_trace()は単なる関数呼び出しです。他の関数呼び出しを置くことができる場所に置くことができます。

+0

回答ありがとう – gladys0313

関連する問題