Python 디버거 중단점이 잡히지 않는 문제

 

안녕하세요 삼각형입니다.

Python 개발 중 특정 함수에 대한 디버거 중단점이 작동하지 않는 경우가 종종 발생합니다. 이 문제는 해당 함수가 Python 스레드가 아닌 다른 스레드에서 호출될 때 발생합니다. 이런 상황을 해결하기 위해서는 Python에 훅을 설정해야합니다. Python에 훅을 설정하는 방법은 다음과 같습니다.

  1. pydevd를 설치합니다.
     pip install pydevd
    
  2. 중단점이 잡히지 않는 함수에 아래 코드를 추가합니다.
     import pydevd
    
     pydevd.settrace(suspend=False, trace_only_current_thread=True)
    

훅을 설정한 후에 디버거를 재실행하면 설정한 디버거 중단점이 정상적으로 작동하는 것을 확인할 수 있습니다.

감사합니다.