"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 디버깅 유틸리티

Python 디버깅 유틸리티

2024-08-07에 게시됨
검색:859

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