긴 디버깅 세션 후의 빠른 교훈 (머리카락을 거의 뽑을 뻔하며)
Source: Dev.to
배경
나는 머리카락을 뽑을 정도로 답답한 디버깅 세션을 마친 뒤, 블로그에 이 글을 올렸다.
디버깅 단계
-
Street‑Smart Coding에서 스스로에게 했던 조언을 따랐다:
- 문제를 격리했다
- 관련 없는 모든 부분을 제거했다
- 고무 오리와 대화했다
-
계속해서 같은 오류 메시지가 나타났다:
TypeError: Cannot read properties of null (reading 'removeChild') -
StackOverflow에서는 Blazor가 고아 요소를 제거하려고 시도한다는 의견이 나와, 그리드 외에는 모든 것을 제거하고 “ 로 감싸 보았다. 같은 실수가 계속되었다.
해결 방법
진로를 고민하고 “Senior” 직함을 빼려다 포기한 뒤, 동료에게 도움을 청했다. 동료가 내 브랜치를 가져와 문제를 재현한 결과, 문제가 내 그리드에만 국한된 것이 아니라 앱 전체의 모든 그리드에 영향을 미치고 있음을 발견했다. 근본 원인은 우리가 사용하고 있던 Blazor 그리드 컴포넌트의 버그였다.
교훈
때로는 더 일찍 도움을 요청해야 한다. 내 멘토 중 한 명이 팀에 말했듯이, “증명할 것이 없으면 돼. 도움을 요청해라.” 이 교훈은 Street‑Smart Coding 제 2장에 실려 있다.