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()
Salin selepas log masuk
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>] ->
Salin selepas log masuk
Pemasangan
Menggunakan pip
pip install pdbwhereami
Salin selepas log masuk
Menggunakan sumber
git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
Salin selepas log masuk
Atas ialah kandungan terperinci Utiliti Penyahpepijatan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!