「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python デバッグ ユーティリティ

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

2024 年 8 月 7 日に公開
ブラウズ:556

Python Debugging utility

pdbどこどこ

目的

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

  • 私は誰
  • ここはどこ
  • 誰が私に電話をかけてきたか
  • コールドツリー
  • パパは誰

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

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

1. デバッグ:

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

2. ロギング:

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

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

  • Assertions: アサート() などのマクロを 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]: ->
[/home/bhagavan/whereami/main.py:93]: ->
[/home/bhagavan/whereami/main.py:93]: ->

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

インストール

ピップの使用

pip install pdbwhereami

ソースの使用

git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
リリースステートメント この記事は次の場所に転載されています: https://dev.to/bhagavan_prasad_d1496a96a/python-debugging-utility-kd1?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3