pdbってなに?
ナカイ君: Python pdbの使い方をわかりやすく教えてほしいな。
世界のアオキ: OK、pdbってのはPythonのデバッガーで、「Python Debugger」の略だよ。プログラムを一時停止させたり、変数の中身を見たり、コードの実行を一歩ずつ進めたりすることができるんだ。これでプログラムのバグを見つけるのがずっと楽になるよ。
ナカイ君: もっと具体的に教えてくれない?
世界のアオキ: もちろん。プログラムが予想通りに動かない時、どこに問題があるのかを探るためにpdbを使うんだ。コードの特定の箇所で実行を止めて、その時点での変数の値をチェックしたり、そこからコードを一行ずつ実行していくことができるんだよ。
pdbの基本的な使い方
ナカイ君: わかりやすいコードがあれば教えてほしいな。
世界のアオキ: こんな感じでコードにpdbを組み込むんだ。
import pdb
# pdbの起動
pdb.set_trace()
# デバッグを行いたいコード
a = "Hello"
b = "World"
c = a + b
print(c)
このコードでは、pdb.set_trace()
の行でプログラムの実行が一時停止するんだ。そこからはpdbのコマンドを使ってデバッグを行うことができるよ。
pdbでできること
ナカイ君: 具体的にはどうやって使うの?
世界のアオキ: pdb.set_trace()
でプログラムを止めた後、例えばn
を入力してEnterを押すと、プログラムが次の行に進むんだ。変数の値を見たい時は、その変数名を入力してEnterを押せばいい。他にも、c
でデバッグ中のプログラムを最後まで実行したり、q
でデバッグを終了することもできるよ。
ナカイ君: 他のパターンがあれば教えてほしいな。
世界のアオキ: そうだね、コードの中で直接pdb.set_trace()
を書かずに、コマンドラインからpdbを起動する方法もあるんだ。ターミナルでこんな感じで実行するんだよ。
python -m pdb your_script.py
これでyour_script.py
をpdbを使ってデバッグモードで実行できる。最初から順にコードを追っていきたい時に便利だよ。
ナカイ君: そうやって使えばいいんだね。
世界のアオキ: ただし、pdbを使っている時はプログラムが止まっているから、焦らずじっくりとコードを読んで、何が起きているのかを理解することが大切だよ。デバッグはプログラミングスキルを向上させるのにも役立つから、ぜひ積極的に使ってみてね。
ナカイ君: わかった、ありがとう!
まとめ
この記事では、Pythonのデバッガーであるpdbの基本的な使い方について解説しました。
pdbを使うと、プログラムの実行を一時停止させたり、コードを一行ずつ実行していくことができるため、バグの原因を特定しやすくなります。
pdbのコマンドを覚えておくと、プログラミングがより効率的に、そして楽しくなるはずです。ナカイ君、これでデバッグの際ももう怖くないね!
python -m pdb your_script.py
この記事へのコメントはありません。