ホームページ >バックエンド開発 >Python チュートリアル >Python デバッグ ユーティリティ

Python デバッグ ユーティリティ

WBOY
WBOYオリジナル
2024-08-05 19:04:311123ブラウズ

Python Debugging utility

pdbどこどこ

目的

これは、以下の機能を備えた Python ソースのデバッグに役立つユーティリティ モジュールです

  • おやおや
  • どこどこ
  • 誰が私を呼んだのか
  • という名前の木
  • 誰だパパ

どこで使われているのでしょうか?

このモジュールは、特にコードのデバッグと保守に関して、いくつかの重要な方法で開発者を支援します。主な利点は次のとおりです:

1.デバッグ:

  • エラーの特定: エラーが発生した場合、正確な行番号とファイルがわかれば、原因の検索にかかる時間を大幅に短縮できます。エラー メッセージ内でこれらの関数を呼び出すことで、開発者は問題が発生した場所をすぐに特定できます。
  • トレーサビリティ: 開発者は、行番号とファイル名をログに記録することで、特に複雑なコードベースや複数ファイルのプロジェクトを扱う場合に、プログラムの実行パスを追跡できます。

2. ロギング:

  • 詳細なログ: ログ メッセージに行番号とファイル名を含めると、詳細なコンテキストが提供され、ログの情報が増え、解釈が容易になります。
  • 自動監視: 大規模システムでは、自動監視ツールがこれらの詳細を使用して、頻繁に問題を引き起こすコードの特定の部分にフラグを立て、事前のメンテナンスに役立ちます。

3. アサーションとデバッグ ビルド:

  • アサーション: アサート() などのマクロを whoami、whereami、whocalledme、calledtree、whosdaddy とともに使用すると、開発中に論理エラーを検出するのに役立ちます。アサーションが失敗すると、行番号とファイル名が出力されるため、デバッグが容易になります。
  • 条件付きコンパイル: デバッグ ビルドの場合、リリース ビルドに影響を与えることなく、これらのマクロを使用して追加の診断情報を含めることができます。

4. ドキュメントとメンテナンス:

  • コード レビュー: コード レビュー中に、詳細なエラー ログがあると、レビュー担当者がフローを理解し、潜在的な問題領域をより効率的に特定するのに役立ちます。
  • メンテナンス: 長期的なメンテナンスの場合、行番号とファイル名を含む詳細なエラー レポートがあると、新しい開発者がコードベース全体に詳しくなくても問題を理解し、修正するのに役立ちます。

whoami、whereami、whocalledme、calledtree、whosdaddy を活用することで、開発者はより堅牢で保守しやすく、デバッグが容易なコードを作成できます。

使い方は?

from pdbwhereami import whoami, whereami, whocalledme, calledtree, whosdaddy

def debug_utility():
    whoami()
    whoami("I am in test_whoami function")

    print()

    whereami()
    whereami("I am in test_whereami")
    whereami(obsolete_path = True)
    whereami(path_depth=6)

    print()

    whocalledme()
    whocalledme(obsolete_path = True)
    whocalledme(path_depth=6)

    print()

    calledtree()
    tstr = calledtree(verbose=False)
    print(tstr)
    calledtree(tree_depth=1)
    calledtree(tree_depth=2)

    print()
    whosdaddy()

debug_utility()

出力

[debug_utility] ->
[debug_utility] -> I am in test_whoami function

[whereami/main.py:71]:debug_utility ->
[whereami/main.py:72]:debug_utility -> I am in test_whereami
[/home/bhagavan/whereami/main.py:73]:debug_utility ->
[/home/bhagavan/whereami/main.py:74]:debug_utility ->

[whereami/main.py:93]:<module> ->
[/home/bhagavan/whereami/main.py:93]:<module> ->
[/home/bhagavan/whereami/main.py:93]:<module> ->

#1[/home/bhagavan/whereami/main.py:84]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--

#1[/home/bhagavan/whereami/main.py:85]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--

#0[/home/bhagavan/whereami/main.py:87]:debug_utility <--

#1[/home/bhagavan/whereami/main.py:88]:debug_utility <--
#0[/home/bhagavan/whereami/main.py:93]:<module> <--

[<module>] ->

インストール

ピップの使用

pip install pdbwhereami

ソースの使用

git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./

以上がPython デバッグ ユーティリティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。