Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Pythonスクリプトを走らせたときに,エラーになったらデバッガに入ってほしいときに使うと便利な関数メモ

More than 3 years have passed since last update.

pdbよりも強いIpyhoon.coreのdebuggerを使う方法です.

set_debugger.py
import sys

def set_debugger_org():
    if not sys.excepthook == sys.__excepthook__:
        from IPython.core import ultratb
        sys.excepthook = ultratb.FormattedTB(call_pdb=True)

def set_debugger_org_frc():
    from IPython.core import ultratb
    sys.excepthook = ultratb.FormattedTB(call_pdb=True)

def set_trace():
    from IPython.core.debugger import Pdb
    Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)

としてset_debugger_org_frc()などをmain関数内で呼んであげれば良い.

うまくデバッガに入ってくれないときも残念ながらあります.

こちら先輩に教わりました.ありがとうございます.

LittleWat
ロボコンでメカ屋として機械作ってからの、機械学習の学習中〆(.. )カリカリッ!! からの swiftの学習中〆(.. )カリカリッ!!  からのフルスタックへのtry中〆(.. )カリカリッ!!
https://littlewat.hatenadiary.jp/
kddi
KDDIは、通信を中心に周辺ビジネスを拡大する「通信とライフデザインの融合」をより一層推進し、国内はもとよりグローバルにおいても、5G/IoT時代における新たな価値創造を実現し、お客さまの期待を超える新たな体験価値の提供を追求してまいります。
http://www.kddi.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away