アプリケーションを本番環境にデプロイした後、デバッグを後回しにするべきではありません。開発中にできるだけ頻繁に実行する必要があります。これにより、コードのバグを簡単に追跡でき、開発者はコードが実行されない原因となっている問題を修正できます。ほとんどの開発者は、Python の print 関数が開発中に発生するエラーの正確な図を提供しないことを知りません。では、これらのエラーを特定して修正するには、何を使用すればよいでしょうか?答えはデバッグツールです!生産性を向上させ、コーディング プロセスの時間を効率的にするのに役立ちます。
Python デバッガー (pdb) は、Python プログラム用の対話型ソース コード デバッガーです。デバッグ以外にも、条件付きブレークポイントの設定、ソース コードの行ごとのステップ実行、特定の行とその呼び出しスタックでの変数のチェックなどの追加機能が提供されます。
この記事では、デバッグ ツールpdb
を使用してコードを検査および分析し、テスト中およびユーザーへの出荷前に業界標準に準拠させる方法について説明します。
デバッグのプロセスを理解するには、次のものが必要です。
Python コードを正しくデバッグするには、生産性とエラー チェックの向上に役立つ次のヒントに注意する必要があります。
name = 'teri print(name)
コンソール
このセクションでは、Python デバッガーpdb
を使用して Python コードをテストします。コードを実行し、インタラクティブな環境でリアルタイムに発生するエラーを解決します。
組み込みのpdb
モジュールは、作業ツールへのインストール時に Python に付属する標準ライブラリの一部です。このツールは、プログラムのテスト時に使用できるその他のコマンドをいくつか提供します。 pdbを使って関数を書いてみましょう。新しいファイルapp.py
または任意の名前をコード エディターで作成し、末尾に.py
拡張子を付けます。
import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 10))
上記のコードは次のことを行います。
pdb
をインポートするnum1
とnum2
の 2 つのパラメーターを持つ関数multiply_number
を定義します。set_trace
メソッドを使用してライブラリを呼び出します。これは、プログラムを一時停止し、コンソールでコードを入力してテストできるデバッガモードに入るため、 pdb
オブジェクトで役立ちます。
コマンドpython3 <name-of-file.py>
を使用してこのプログラムを実行すると、デバッガーに入り、コードを実行するためのいくつかのデバッガー コマンドを渡すことができます。を確認してください
次に、コンソールでいくつかのコマンドを試してみましょう。
a または args と入力すると、現在の関数multiply_number で使用されているすべての引数が一覧表示されます。
別のコマンドを試す前に、app.py ファイルのコードを更新して引数の一部として文字列を含め、実行中にプログラムがエラーを出力するようにします。
# app.py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 'execute'))
コマンド python3 app.py を使用してプログラムを再実行します。
コンソールにnum1
とnum2
を入力すると、multiply_number 関数で渡された引数の結果が出力されます。
試すことができるその他のコマンドには、ドキュメントに記載されている次のステップ、続行などがあります。
最後に、 pdb
がコード内のエラーと発生した行番号を特定したら、コードに戻ってエラーを修正し、適切な引数を使用してプログラムを実行することでクリーンアップできます。
注: pdb
モジュールは、本番用ではなく、開発中のテスト用です。デプロイする前に削除してください。
この記事では、コードを修正してエラーを特定する際にベスト プラクティスを採用する方法について説明します。メソッドの使用は、コードの品質を向上させるのに役立つ多くの機能を備えているため、print 関数よりも優れています。