python デバッグ/コードの開発の活用のコマンドの使用

Pythonデバッグのやり方

Pythonデバッグについての情報

Pythonデバッグのやり方は、大きく分けて2つあります。

  1. pdbモジュールを使用する方法
  2. IDEを使用する方法

簡易的なデバッグならpdbモジュールを、本格的なデバッグならIDEを使いましょう。IDEから起動できないようなプログラムのデバッグに、pdbが使われるケースもあります。

Pythonデバッガの使い方

Pythonデバッガの使い方

pdbモジュールを使用する方法

pdbモジュールは、Python標準ライブラリに含まれているデバッガです。pdbモジュールを使用すると、プログラムの実行を途中で中断して、変数の値やスタックトレースを表示することができます。

pdbモジュールを使用するには、以下の手順で行います。

  1. プログラムを実行する前に、以下のコードを追加します。
import pdb
  1. プログラムを実行します。

  2. プログラムの実行中に、pdb.set_trace()を呼び出すことで、デバッグを開始できます。

  3. デバッグモードでは、以下のコマンドを使用して、プログラムを制御できます。

コマンド 説明
n 次の行へ進む
s 現在の行を1回だけ実行する
l 現在の行を表示する
c デバッグモードを終了して、プログラムを続行する

IDEを使用する方法

IDEには、デバッガが搭載されているものがあります。IDEを使用すると、pdbモジュールを使用するよりも、簡単にデバッグを行うことができます。

IDEを使用するには、IDEのメニューから「デバッグ」を選択して、デバッグモードを開始します。デバッグモードでは、IDEのツールバーやメニューを使用して、プログラムを制御できます。

デバッグのコツ

デバッグを行う際には、以下のコツを参考にしてください。

  • デバッグする前に、プログラムの動作を予測しておくと、デバッグがしやすくなります。
  • デバッグモードでは、変数の値やスタックトレースをよく確認してください。
  • 問題の原因が特定できない場合は、ブレークポイントを追加して、特定の行でプログラムを中断するようにしてください。

ブレークポイントの設定

ブレークポイントは、プログラムの実行を中断する場所を指定するためのものです。ブレークポイントを設定するには、デバッグモードで、ブレークポイントを追加したい行の左端にマウスカーソルを置いて、左クリックします。

ブレークポイントが設定されると、ブレークポイントに青い点が表示されます。ブレークポイントに到達すると、デバッグモードが開始されます。

その他、例外処理を記述してログに出力する方法などがあります。

関連 Pythonのtry exceptの例外処理のサンプル

VS Codeを使用したPythonデバッグ

VS Codeを使用したPythonデバッグ

VS Codeは、Microsoftが開発した統合開発環境(IDE)です。VS Codeには、Pythonデバッガが搭載されており、簡単にデバッグを行うことができます。

参考)Visual Studio Code – コード エディター | Microsoft Azure

VS CodeでPythonデバッグを行うには、以下の手順で行います。

  1. VS Codeを起動して、Pythonファイルを開きます。

  2. デバッグモードを開始するには、以下のいずれかの操作を行います。

    • デバッグアイコンをクリックします。
    • Ctrl+Shift+Dキーを押します。
    • メニューから「デバッグ」>「開始」を選択します。
  3. ブレークポイントを設定するには、ブレークポイントを追加したい行の左端にマウスカーソルを置いて、左クリックします。

  4. ブレークポイントに到達すると、デバッグモードが開始されます。

デバッグモードでは、以下の操作を行うことができます。

  • 次の行に進むには、F5キーを押します。
  • 現在の行を1回だけ実行するには、F10キーを押します。
  • 現在の行を表示するには、F11キーを押します。
  • デバッグモードを終了して、プログラムを続行するには、Shift+F5キーを押します。

デバッグツールウィンドウ

VS Codeのデバッグツールウィンドウでは、変数の値やスタックトレースを表示することができます。デバッグツールウィンドウを開くには、メニューから「表示」>「デバッグ」を選択します。

ブレークポイントの種類

VS Codeでは、以下の3種類のブレークポイントを設定できます。

  • 条件付きブレークポイント:特定の条件を満たした場合にのみ、プログラムを中断します。
  • ログブレークポイント:特定の条件を満たした場合に、ログを表示します。
  • メモリリークブレークポイント:メモリリークを検出します。

デバッグのコツ

デバッグを行う際には、以下のコツを参考にしてください。

  • デバッグする前に、プログラムの動作を予測しておくと、デバッグがしやすくなります。
  • デバッグモードでは、変数の値やスタックトレースをよく確認してください。
  • 問題の原因が特定できない場合は、ブレークポイントを追加して、特定の行でプログラムを中断するようにしてください。