スポンサーリンク

【Python入門】デバッガーの使い方をやさしく解説|breakpoint関数・VS Code対応

Python入門

1. はじめに|printじゃなくて「デバッガー」使ってみよう!

Pythonでプログラムを書いていて、「あれ?思った通りに動かないな……」と感じたこと、ありませんか?
そんなとき、よく使うのが print() を使った確認方法ですよね。

print(my_variable)

このようにして変数の中身を表示させて、バグの原因を探すのは定番の手法。でも、実際のところ何度もprintを書いたり消したりするのって、正直めんどくさい!
しかも、どこが原因かわからないと、いろんな場所にprintを埋め込むことになって、コードがゴチャゴチャになってしまいます。

そんなときにおすすめなのが「デバッガー」です。

デバッガーを使えば、

  • プログラムの実行を好きな場所で一時停止できる
  • 停止中に変数の中身や処理の流れをその場でチェックできる
  • しかも、1行ずつ処理を進めながら挙動を確認できる

という便利機能がたっぷり!

この記事では、Python初心者でもすぐに使える「標準デバッガーの使い方」と「VS Codeでのデバッグ方法」を、画像なしでもわかりやすく解説していきます。

「バグが見つけられなくてモヤモヤする…」という人は、ぜひprint卒業を目指して、一緒にデバッガーデビューしてみましょう!




2. Python標準のデバッガーを使ってみよう

Pythonには、標準で使えるデバッガーが用意されています。外部ツールをインストールしなくてもすぐに使えるので、まずはこれから始めてみましょう!

✅ breakpoint()関数とは?

Python 3.7以降では、breakpoint() という便利な関数が使えるようになりました。
これは、「ここでプログラムを止めて、デバッグを開始してね!」とPythonに指示を出すための関数です。

たとえばこんなコード:

def greeting(name):
breakpoint() # ← ここで処理が止まる!
print(f"こんにちは、{name}さん!")

greeting("さくら")

このスクリプトを実行すると、breakpoint() のある行で実行が一時停止し、「pdb」と呼ばれるデバッガーモードに入ります。

🧪 デバッガーモード中にできること

デバッガーモードに入ると、次のような操作ができます:

コマンド内容
p 変数名指定した変数の中身を表示(例: p name
n次の行に進む(関数の中には入らない)
s次の行に進む(関数の中にも入る)
c実行を再開(次のブレークポイントまで一気に)
qデバッグを終了してプログラムをやめる

特に p を使えば、その時点の変数の中身を確認できるのが便利です!

(Pdb) p name
'さくら'

🧩 Python 3.6以前の場合は?

Python 3.6以前のバージョンを使っている場合は、breakpoint() がまだ使えません。代わりに次のように書きます:

import pdb; pdb.set_trace()

これでも同じように、そこで実行が止まり、デバッガーモードに入れます。

breakpoint() をコードに入れたままにしておくと、次に実行したときも毎回そこで止まってしまいます
バグの原因が見つかったら、デバッガーを使った行は忘れずに削除しておきましょう!




3. VS Codeでのデバッグ方法

Pythonを普段からVisual Studio Code(VS Code)で書いているなら、VS Codeに内蔵されたデバッガー機能を使うのが一番おすすめです!
コードの中に breakpoint() を書かなくても、マウスでポチッとブレークポイントを設定できて、とても直感的に使えます。

🛠 事前準備:Python拡張機能をインストール

まずは、VS CodeでPythonをデバッグするための準備をしておきましょう。

  1. VS Codeを開いたら、左側の「拡張機能」アイコン(四角が4つ)をクリック
  2. 検索欄に「Python」と入力
  3. Microsoft製の「Python」拡張機能が出てくるので、「インストール」をクリック!

これで準備OKです。


🟥 ブレークポイントの設定方法

  1. VS CodeでPythonファイルを開く
  2. 止めたい行の左側の余白をクリック(行番号のすぐ左)
  3. 赤い●が表示されたら、それがブレークポイントです!
def hello():
name = "さくら"
print("準備中...")
print(f"こんにちは、{name}さん!") # ← ここにブレークポイントを設定

▶️ デバッグの実行方法

  1. 左のメニューから「実行とデバッグ」アイコン(▶️+🐞)をクリック
  2. 上部に出てくるメニューで「Pythonファイル」を選択
  3. プログラムが始まり、ブレークポイントを設定した行で一時停止します

👀 デバッグ中にできること

VS Codeなら、デバッグ中に変数の中身を視覚的に確認できます!

  • 画面左側に「変数」ウィンドウが自動表示
  • 関数の中に入ったりスキップしたりも、ボタン1つで簡単!

主な操作ボタン:

ボタン名アイコン内容
ステップオーバー⏭️次の行へ進む(関数の中には入らない)
ステップイン↘️次の行へ進む(関数の中に入る)
続行(Continue)▶️次のブレークポイントまで一気に進む
停止⏹️デバッグを終了する

🌟 VS Codeのデバッガーが便利な理由

  • print()breakpoint()も書かずに視覚的にデバッグできる
  • 実行中の変数の状態を自動で一覧表示
  • マウス操作だけでステップ実行・中断・再開ができる

初心者でも扱いやすいので、PythonをVS Codeで書いている人は、ぜひこの機能を活用しましょう!




4. その他のエディタのデバッガー(PyCharmなど)

Pythonの開発に使えるエディタはVS Codeだけではありません。他にも人気のあるエディタやIDE(統合開発環境)には、VS Codeと同様に強力なデバッガー機能が標準で搭載されています。

特に有名なのが「PyCharm(パイチャーム)」です。


🧰 PyCharmのデバッガーってどんな感じ?

PyCharmはJetBrains社が提供しているPython専用のIDEで、初心者でも使いやすいGUIデバッガーが最初から組み込まれているのが魅力です。

主な特徴:

  • ブレークポイントの設定:VS Codeと同じく、行番号の横をクリックするだけでOK。
  • 変数の状態をリアルタイムで確認:停止中のすべての変数が、サイドバーに一覧表示されます。
  • ステップ実行もボタン1つで簡単:▶️や⏭️のボタンで操作できます。
  • 関数の中に入る/飛ばす/戻るなど細かい操作も自由自在

さらに、Jupyter Notebook形式のデバッグにも対応している点も便利ですね。


🧪 他にもある!Python対応のエディタ

エディタ名特徴
Thonny超初心者向け。大学や教育機関でもよく使われている。簡単にステップ実行や変数確認ができる。
Spyderデータ分析寄りのIDEで、NumPyやpandasとの相性が良く、科学技術計算に強い。
Jupyter NotebookWebブラウザ上で実行可能。Cell単位でデバッグできるが、breakpoint()で簡易デバッグも可能。

どのエディタも、それぞれに合った使いやすいデバッガー機能がついています。自分が使いやすいと感じるツールを選んでOKです!


🎯 まとめ:printだけじゃない!デバッグの選択肢は豊富

Pythonには、いろんな方法でデバッグできる環境がそろっています。

  • シンプルに breakpoint() を使う
  • VS CodeでGUIでサクッと操作する
  • PyCharmやThonnyで見た目重視のデバッグを楽しむ

バグでつまずいたら、「printで粘る」より「デバッガーでサクッと解決」してみませんか?




5. まとめ|printに頼らず、デバッガーでスマートに!

Pythonでプログラムを書くと、必ずどこかで「バグ」に出会います。
でも、そのバグを見つけて直す作業=デバッグは、ちょっとした工夫でずっとラクになります。

今回ご紹介した「デバッガー」を使えば、以下のようなことがすぐにできます:

  • プログラムを好きな場所で一時停止
  • その時点の変数の中身を確認
  • 1行ずつ処理を追いながら、原因を探れる

print()だけで頑張っていた頃と比べて、圧倒的に効率アップ間違いなしです!

特に、VS CodeやPyCharmのようなエディターには、視覚的に分かりやすく、初心者でも使いやすい機能が揃っているので、最初のうちはそちらからチャレンジしてみるのもおすすめです。

バグに悩まされたら、まずはprintより「breakpoint()」やブレークポイントを試す
それが、Python初学者が一歩レベルアップするための第一歩になります!


あわせて読みたい|バグ・エラーに強くなりたい人へおすすめ記事

プログラムのバグやエラーに悩んだとき、デバッガー以外にも知っておくと便利な知識があります。以下の記事もあわせてチェックしてみてください!


よくある質問(Q&A)

Q
breakpoint()ってどこに書けばいいの?
A

基本的には関数の中や処理の途中に書きます。トップレベルでも動作しますが、関数の中の方が扱いやすいです。

Q
printとbreakpointの違いは?
A

print()は結果を一方的に出すだけですが、breakpoint()処理を止めてその場で中身を調べたり、動かしたりできるのが大きな違いです。

Q
VS Codeを使ってないけど、デバッガーは使えますか?
A

はい!Pythonは標準で breakpoint() をサポートしており、コマンドラインやJupyter Notebookでも使えます

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク