Jupyterノートブックでいくつかのコードをデバッグしようとしています。私は 4種類の方法を試してみた、それらはすべて同じ問題に苦しむ:あなたが見ることができるようJupyterノートブックで正しく動作しないデバッガー
--Return--
None
> <ipython-input-22-04c6f5c205d1>(3)<module>()
1 import IPython.core.debugger as dbg
2 dber = dbg.Tracer()
----> 3 dber()
4 tst = huh.plot(ret_params=True)
5 type(tst)
ipdb> n
> y:\miniconda\lib\site-packages\ipython\core\interactiveshell.py(2884)run_code()
2882 finally:
2883 # Reset our crash handler in place
-> 2884 sys.excepthook = old_excepthook
2885 except SystemExit as e:
2886 if result is not None:
、私はpdb
ドキュメントから理解ものから、次の行を実行する必要がありn
コマンド、また、同じ問題を抱えている
s
(私はipdb
は私がipdb
ないpdb
に特異的に参照する任意のコマンドのドキュメントを見つけることができない、特に以来、IPython上で動作するだけでpdb
適合していると仮定しています)。これは実際に私がしたいことです - plot
コールへのステップ(これは私が理解したところから、これはs
がするはずです)ですが、私が得るものは全く同じです。n
から得るものです。私もちょうどr
を試してみましたが、私は同じ問題を抱えています。
私が見たすべての例では、コマンドに続く行にブレークポイントを設定するためにTracer()()
またはIPython.core.debugger.PDB().set_trace()
を使用していますが、どちらも同じ問題を引き起こします(実際はまったく同じものです)。 ( - ちょうどラインを実行し、ちょうど関数にステップしないs
を使用して、どのようなラインと言う実行されている行のコードを表示しません)
%debug
(
MultipleInstanceError
)と
%%debug
を試してみました。
編集:今年の4月のブログ記事によれば、平文pdb
も機能するはずです。それは私が対話的にノートPCをデバッグすることができない、それだけでデバッグ中の現在の行(おそらくバグ)を印刷し、そしてそれは、IPythonのset_trace
(IPythonのset_trace()
と平野IPython
コンソール上Tracer()()
と同じ問題を抱えているだけ私がテストしたもの)はうまく動作します。