>  기사  >  백엔드 개발  >  Python 디버깅 유틸리티

Python 디버깅 유틸리티

WBOY
WBOY원래의
2024-08-05 19:04:311084검색

Python Debugging utility

pdbwhereami

목적

아래 함수를 사용하여 Python 소스 디버깅을 도와주는 유틸리티 모듈입니다

  • 후아미
  • 왜아미
  • 누가 전화했어요
  • 콜드트리
  • 누가대디

어디에 사용되나요?

이 모듈은 특히 코드 디버깅 및 유지 관리와 관련하여 여러 가지 주요 방식으로 개발자를 돕습니다. 주요 이점은 다음과 같습니다.

1. 디버깅:

  • 오류 식별: 오류가 발생했을 때 정확한 줄 번호와 파일을 알면 원인을 찾는 데 소요되는 시간을 크게 줄일 수 있습니다. 오류 메시지에서 이러한 기능을 호출함으로써 개발자는 문제가 발생한 위치를 신속하게 찾아낼 수 있습니다.
  • 추적성: 개발자는 줄 번호와 파일 이름을 기록하여 특히 복잡한 코드베이스나 다중 파일 프로젝트를 처리할 때 프로그램의 실행 경로를 추적할 수 있습니다.

2. 로그 기록:

  • 상세 로그: 로그 메시지에 줄 번호와 파일 이름을 포함하면 자세한 컨텍스트가 제공되므로 로그가 더 유익하고 해석하기 쉬워집니다.
  • 자동 모니터링: 대규모 시스템에서 자동 모니터링 도구는 이러한 세부 정보를 사용하여 자주 문제를 일으키는 코드의 특정 부분에 플래그를 지정하여 사전 유지 관리를 지원할 수 있습니다.

3. 어설션 및 디버그 빌드:

  • 어설션: whoami, whereami, whocallme, Calledtree 및 whosdaddy와 함께 Assert()와 같은 매크로를 사용하면 개발 중에 논리적 오류를 잡는 데 도움이 됩니다. 어설션이 실패하면 줄 번호와 파일 이름이 인쇄되므로 디버그하기가 더 쉽습니다.
  • 조건부 컴파일: 디버그 빌드의 경우 릴리스 빌드에 영향을 주지 않고 이러한 매크로를 사용하여 추가 진단 정보를 포함할 수 있습니다.

4. 문서화 및 유지 관리:

  • 코드 검토: 코드 검토 중에 자세한 오류 로그가 있으면 검토자가 흐름을 이해하고 잠재적인 문제 영역을 보다 효율적으로 식별하는 데 도움이 될 수 있습니다.
  • 유지 관리: 장기 유지 관리의 경우 줄 번호와 파일 이름이 포함된 자세한 오류 보고서가 있으면 신규 개발자가 전체 코드베이스에 대해 깊이 숙지하지 않고도 문제를 이해하고 해결하는 데 도움이 됩니다.

whoami, whereami, whocallme, 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:생명의 비약다음 기사:생명의 비약