読者です 読者をやめる 読者になる 読者になる

もた日記

くだらないことを真面目にやる

Pythonメモ : フルスクリーンコンソールデバッガPuDBでデバッグ

Python

PuDB


github.com

PuDBはCUIベースでありながら、図のようにGUIのようにPythonコードをデバッグできるツールである。

f:id:wonder-wall:20170212202031p:plain

インストール


pipを使用している場合は、下記コマンドでインストール。

$ pip install pudb
 …
Installing collected packages: urwid, pudb
Successfully installed pudb-2017.1 urwid-1.3.1


初回起動


インストールが成功していればpudb3というコマンド(Python3じゃない場合はpudb)が使えるようになっている。

$ pudb3 --help
Usage: pudb3 [options] SCRIPT-TO-RUN [SCRIPT-ARGUMENTS]

Options:
  -h, --help          show this help message and exit
  -s, --steal-output
  --pre-run=COMMAND   Run command before each program run

デバッグするときは、デバッグしたいファイルを指定して実行する。

$ pudb3 test.py

または、デバッグしたい箇所に下記行を追加して、

from pudb import set_trace; set_trace()
$ python test.py

を実行する。

初回起動時には以下の画面が表示される。バージョンが2017.1ということなので最近もアップデートしているらしい。

f:id:wonder-wall:20170208232213p:plain

2画面目は設定画面で矢印で移動、スペースを押せばチェックボックスの変更が可能。Ctrl-Pを押せば後で変更できるので特に変更しなくてもよい。
なお、設定値は$HOME/.config/pudb/pudb.cfgファイルに保存される。

f:id:wonder-wall:20170208232238p:plain

3画面目はヘルプ画面。?を押せば後で確認可能。

f:id:wonder-wall:20170208232302p:plain

テーマ変更


デフォルトのテーマは個人的には見にくいのでmonokai-256に変更した。
選択可能なテーマは以下の通り。example-theme.pyを参考にすればテーマのカスタマイズも可能らしい。

Theme:

( ) classic
( ) vim
( ) dark vim
( ) midnight
( ) solarized
( ) agr-256
( ) monokai
(X) monokai-256
( ) Custom:

f:id:wonder-wall:20170212200819p:plain

基本的な使い方


使い方は普通のデバッガと同じで代表的なキー操作は画面内に表示されている。

キー 説明
? ヘルプ画面表示
n ステップオーバー
s ステップイン
b ブレークポイント指定
! コマンドラインにフォーカス
Ctrl-x メイン画面とコマンドライン間の移動
V 変数ビューにフォーカス
S コールスタックにフォーカス
B ブレークポイントリストにフォーカス

上記以外の操作については?で表示されるヘルプ画面に詳しく書いてある。

f:id:wonder-wall:20170212211633p:plain

終了方法


コマンドライン以外にフォーカスがある状態でqを押すと下記画面が表示されるので、続けてqを押せば終了できる。

f:id:wonder-wall:20170212203017p:plain

入門 Python 3

入門 Python 3