<p>我喜欢使用以下方法检查Python脚本中的错误:</p>
<pre><code>$ python3 -m pdb my_script.py
</code></pre>
<p>这会将我放入pdb提示符中,在那里我可以<code>c</code>继续执行,当它遇到错误时,我可以检查变量,然后<code>q</code>退出脚本执行以返回shell。</p>
<p>我对iPython调试器模块也做了同样的尝试,因为它更加丰富多彩:</p>
<pre><code>$ python3 -m ipdb my_script.py
</code></pre>
<p>但是,一旦检查完错误,我就无法退出调试器。使用<code>q</code>quit命令只是在重新执行脚本和死后模式之间不断切换:</p>
<pre><code>$ python3 -m ipdb my_script.py
ipdb> c
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> Inspect some variables at this point
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
</code></pre>
<p>如何退出此调试器?</p>