• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

디버깅 모드와 그냥 실행 모드의 결과가 다를 수도 있나요?

21.06.24 19:17 작성 조회수 85

0

vscode로 def __del__ 실습중이었습니다.

소멸자에 print('소멸자 실행!')을 작성하고

del키워드로 객체 하나를 지웠는데

의도한 바로는 소멸자 실행! 이 객체를 하나만 지웠기에 한번만 나오고 car_count가 2가 나오는 것이었습니다.

그러나 해당 print문이 2번 더하여 총 3번이 나오길래 뭘 잘못건드렸는지 싶었습니다. 그래서 디버깅 모드(f5)로 중단점 걸고 살펴보았는데 이번에는 의도한대로 한번만 프린트 되더군요..

제 생각인데 파이썬 프로그램이 종료되면서 자동적으로 객체가 사라져서 소멸자가 자동으로 나머지 객체 2개도 삭제시켜주어서 그런건가요? 만약 그렇다면 디버깅 모드랑 일반 Run python file in Terminal로 실행시킨 각각의 결과값들이 다를 수도 있나요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

디버깅 모드도 마찬가지로 의도한대로 결과가 같이 출력되야 정상입니다.

브레이킹 포인트에 의해서 동일한 라인을 두번 실행하는 경우가 있을 수 있구요.

디버깅 방법에 따라 실행 횟수는 달라질 수 있어여.