Python의 강력한 내성을 통해 런타임 오류를 더 깊이 이해할 수 있습니다. 함수의 호출 매개 변수를 포함하여 통화 스택의 모든 프레임을 확인하면 오류를보다 쉽게 재현하고 이해할 수 있습니다. Sentry와 같은 도구는이 기능을 최대한 활용하여 더 풍부한 오류 컨텍스트 정보를 제공합니다.
이 오류 메시지는 오류의 유형과 위치 만 알려주지 만 오류의 원인을 직접 지적 할 수는 없습니다. 우리는 정수 나 비 유형이 통과되었다고 추측해야 할 수도 있지만 실제 상황은 다양 할 수 있습니다.
이 시점에서 Python Debugger (PDB)는 편리합니다. PDB를 사용하면 중단 점을 통해 코드를 통해 변수 및 유형을 확인할 수 있습니다. 코드에
를 삽입하여 중단 점을 설정할 수 있습니다.<code>TypeError: expected string or buffer File "sentry/stacktraces.py", line 309, in process_single_stacktrace processable_frame, processing_task) File "sentry/lang/native/plugin.py", line 196, in process_frame in_app = (in_app and not self.sym.is_internal_function(raw_frame.get('function'))) File "sentry/lang/native/symbolizer.py", line 278, in is_internal_function return _internal_function_re.search(function) is not None</code>
를 사용하여 로컬 변수를보고 및
로 통화 스택을 탐색합니다. 명령.
생산 환경 디버깅
import logging # ... logging.debug("function is of type %s", type(function))
<<> faq
<🎜 🎜>
이 기사의 일부 내용은 Sentry 기사에서 수정되었습니다. SitePoint를 지원하는 파트너에게 감사합니다. import pdb; pdb.set_trace()
<<>
def is_internal_function(self, function): try: return _internal_function_re.search(function) is not None except Exception: import pdb; pdb.set_trace() raise
위 내용은 파이썬 오류를 디버그하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!