less than 1 minute read

Daily TODO

TIL, logs

질문

  • Race Condition과 Critical Section이 무엇이고, Race Condition을 막기 위해서는 어떤 방법을 사용해야 하는가?
  • Deadlock이 발생하는 조건과 해결 방법.

디버깅

디버깅은 디버거와 별개이다. 디버깅은 코드에서 문제의 근원을 찾아 이를 제거하고, 다시는 이러한 현상이 일어나지 않도록 하는 것이고 디버거는 단지 이를 위한 툴일 뿐이다.

  • 디버거부터 켜지 말고, 버그를 재현해 이 버그가 발생하는 환경 - 발생조건을 확인하기.
  • 시스템이 정상작동했을때의 흐름을 생각하고, 이를 위한 디버깅 테스트 코드를 작성하기.
    • 그럼에도 버그를 찾지 못했으면, 이 흐름이 맞게 쓰여졌는지 확인하기.
  • 고칠때는 이유에 대한 이해가 필요하다.

Leave a comment