15
IPythonを使用した段階的なデバッグ
私が読んだことから、Pythonでコードをデバッグする方法は2つあります。 pdbまたはなどの従来のデバッガーを使用しますipdb。これは、cfor continue、nfor step-over、sfor step-intoなどのコマンドをサポートしていますが、オブジェクトの検査に非常に役立つIPythonシェルに直接アクセスすることはできません。 IPythonシェルをコードに埋め込むことによるIPythonの使用 。あなたがすることができ、あなたのコードで使用します。プログラム/スクリプトがステートメントにヒットすると、IPythonシェルに移動します。これにより、すべてのIPythonの利点を使用して、オブジェクトの完全な検査とPythonコードのテストが可能になります。ただし、使用する場合、便利なキーボードショートカットを使用してコードをステップバイステップで実行することはできなくなります。from ipython import embedembed()embed()embed() 両方の長所を組み合わせる方法はありますか?すなわち できるように ステップバイステップの便利なPDB / ipdbキーボードショートカットを使用してコードによる。 そのような手順(たとえば、所定のステートメント)で、本格的なIPythonシェルにアクセスできます。 デバッグIPython のように MATLAB: このタイプの「拡張デバッグ」の例は、MATLABにあり、ユーザーは常に MATLABエンジン/シェルに完全にアクセスでき、コードを段階的に実行したり、条件付きブレークポイントを定義したりできます。他のユーザーと話し合ったところ、これは、MATLABからIPythonに移行するときに人々が最も見逃してしまうデバッグ機能です。 Emacsおよびその他のエディターでのIPythonデバッグ: 私は質問を具体的にしすぎたくありませんが、私は主にEmacsで作業しているので、この機能をそれに組み込む方法はあるのでしょうか。理想的には、Emacs(またはエディター)を使用すると、プログラマーはコードの任意の場所にブレークポイントを設定し、インタープリターまたはデバッガーと通信して、選択した場所で停止し、その場所で完全なIPythonインタープリターを使用できます。