Google App Engine で開発していて、標準デバッガの pdb を使おうとして困ったのでその顛末のメモです。
import pdb; pdb.set_trace()
と書いても、期待通りに動作しません。stdin と stdout の向き先が変わっているので、画面への表示とキーボードからの入力ができないのだと思います。
有用なブログのコメントを見つけましたので、そのままパクり。
gaedb.py というファイルを作っておきます。
# gaedb.py def set_trace(): import pdb, sys debugger = pdb.Pdb(stdin=sys.__stdin__, stdout=sys.__stdout__) debugger.set_trace(sys._getframe().f_back)
で、アプリケーションコード内で、
import gaedb; gaedb.set_trace()
と書けば、期待通りの pdb.set_trace() 動作します。ちゃんちゃん。