Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Utiliti Penyahpepijatan Python

Utiliti Penyahpepijatan Python

WBOY
WBOYasal
2024-08-05 19:04:311084semak imbas

Python Debugging utility

pdbwhereami

Tujuan

Ini ialah modul utiliti yang membantu dalam menyahpepijat sumber python dengan fungsi di bawah

  • whoami
  • di mana
  • siapa yang memanggil saya
  • dipanggiltree
  • whosdaddy

Di mana ia digunakan?

Bermodul ini membantu pembangun dalam beberapa cara utama, terutamanya apabila ia berkaitan dengan penyahpepijatan dan penyelenggaraan kod. Berikut adalah faedah utama:

1. Nyahpepijat:

  • Mengenalpasti Ralat: Apabila ralat berlaku, mengetahui nombor baris dan fail yang tepat boleh mengurangkan masa yang dihabiskan untuk mencari punca dengan ketara. Dengan memanggil fungsi ini dalam mesej ralat, pembangun boleh dengan cepat menentukan tempat isu timbul.
  • Kebolehkesanan: Dengan mengelog nombor baris dan nama fail, pembangun boleh mengesan laluan pelaksanaan program, terutamanya apabila berurusan dengan pangkalan kod kompleks atau projek berbilang fail.

2. Membalak:

  • Log Terperinci: Termasuk nombor baris dan nama fail dalam mesej log menyediakan konteks terperinci, menjadikan log lebih bermaklumat dan lebih mudah untuk ditafsir.
  • Pemantauan Automatik: Dalam sistem besar, alat pemantauan automatik boleh menggunakan butiran ini untuk membenderakan bahagian tertentu kod yang kerap menyebabkan isu, membantu dalam penyelenggaraan proaktif.

3. Penegasan dan Binaan Nyahpepijat:

  • Penegasan: Menggunakan makro seperti assert() bersama-sama dengan whoami, whereami, whocalledme, calledtree dan whosdaddy membantu dalam menangkap ralat logik semasa pembangunan. Apabila penegasan gagal, ia mencetak nombor baris dan nama fail, menjadikannya lebih mudah untuk nyahpepijat.
  • Kompilasi Bersyarat: Untuk binaan nyahpepijat, maklumat diagnostik tambahan boleh disertakan menggunakan makro ini tanpa menjejaskan binaan keluaran.

4. Dokumentasi dan Penyelenggaraan:

  • Semakan Kod: Semasa semakan kod, mempunyai log ralat terperinci boleh membantu penyemak memahami aliran dan mengenal pasti kawasan masalah yang berpotensi dengan lebih cekap.
  • Penyelenggaraan: Untuk penyelenggaraan jangka panjang, mempunyai laporan ralat terperinci dengan nombor baris dan nama fail membantu pembangun baharu memahami dan membetulkan isu tanpa memerlukan kebiasaan mendalam dengan keseluruhan pangkalan kod.

Dengan memanfaatkan whoami, whereami, whocalledme, calledtree dan whosdaddy, pembangun boleh mencipta kod yang lebih mantap, boleh diselenggara dan lebih mudah untuk nyahpepijat.

Bagaimana cara menggunakannya?

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()

keluaran

[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>] ->

Pemasangan

Menggunakan pip

pip install pdbwhereami

Menggunakan sumber

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

Atas ialah kandungan terperinci Utiliti Penyahpepijatan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Elixir Of LifeArtikel seterusnya:Elixir Of Life