のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Python debugツール ipdbの紹介

Sponsored Links

皆さんこんにちは
お元気ですか?私は日々rarejobで英語を磨いています。

さて、本日はPythonデバッグツール ipdbをご紹介させて頂きます。

ipdb

インストール

sudo pip install ipdb

実際の動作

とりあえず、このプログラムを動作させてみましょう。
因みにset_trace()と書いてある箇所で止まります。

import ipdb
print "debug program"
a = 10 / 3
b = 10.3 / 3.4
ipdb.set_trace()
print a,b

すると以下のような画面になるはずです。

> /Users/Tereka/Programing/TestCode/Python/ipdb/ipdb_test.py(6)<module>()
      4 b = 10.3 / 3.4
      5 ipdb.set_trace()
----> 6 print a,b
ipdb> 

ipdb>以下にコマンドを打ち込むことにより、実行を可能とします。
はて、どんなコマンドがあるのかなー?と思う方、とりあえずhを押しましょう

Documented commands (type help <topic>):
========================================
EOF    bt         cont      enable  jump  pdef    psource  run      unt   
a      c          continue  exit    l     pdoc    q        s        until 
alias  cl         d         h       list  pfile   quit     step     up    
args   clear      debug     help    n     pinfo   r        tbreak   w     
b      commands   disable   ignore  next  pinfo2  restart  u        whatis
break  condition  down      j       p     pp      return   unalias  where 

よく使うのはこんな感じでしょう

変数確認(p)
ipdb> p a
3
次の行実行(関数に入りたいときはs)
ipdb> n
3 3.02941176471
やめたい
ipdb> q

こんな感じで気軽にデバッグができます。素晴らしい。