본문 바로가기

Tips

개발자 모드 Debug Tips

입사한 지 어느덧 4개월이라는 시간이 흘렀습니다!

 

대부분의 주요한 업무는 유지 보수 였는데요!

 

그 과정 가운데 디버깅하는 팁들을 공유하고자 합니다

 

1. Set Break Points by CallBack

일반적으로 Ctrl + P, Cmd + P 를 통해 특정 자바스크립트 파일을 열어 중단 포인트를 설정합니다.

 

하지만 일일이 중단 포인트를 찾는 것이 어려운 상황들은 빈번히 발생하기 마련입니다.

 

예를 들어 특정 API가 여러 DOM 요소에서 사용된다고 할 때 스크립트 상에서 일일이 설정한다는 것은 쉬운 일이 아닙니다.

 

이럴 때 사용할 수 있는 다양한 브레이크 포인트들을 알아봅시다.

 

1. DOM BreakPoint

DOM Break Point

Element 패널에서 특정 DOM의 변화를 보고 싶을 때 사용하는 기능입니다.

 

특정 요소를 우 클릭 후 Break on을 클릭하면 세가지의 옵션을 선택할 수 있습니다. 

 

subtree modification, 자식 요소들이 변화되었을 경우 중단

attribute modification, 해당 요소의 속성(attributes)값이 변화되었을 경우 중단

node removal, 요소가 삭제된 경우 중단

다음은 구글에서 <body> 요소에 subtree modification을 걸었을 때 중단되는 모습입니다.

 

document.body.appendChild 부분에서 정확히 중단되는 것을 확인할 수 있습니다.

 

2. XHR/fetch BreakPoint

웹 사이트를 만들다보면 API를 이용하는 경우가 디게 많습니다.

 

한 API가 재사용성이 높아서 여러군데서 호출되다보면

 

어느 스크립트에서 걸리는 지 찾기 어려운 경우도 생길 수 있는데요

 

이런 경우에 유용한 중단점 설정 기능이 있습니다.

XHR/fetch BreakPoint

다음과 같이 특정 API 의 주소를 넣어서 API 요청 받는 부분을 추적할 수 있습니다.

 

3. Event Listener BreakPoint

Event Listener BreakPoint

다음은 마우스 이벤트를 지정해서 중단점을 설정하는 방법입니다.

 

특정 이벤트들을 체크함으로 스크립트 함수가 어디서 중단되는지 콜백으로 찾을 수 있습니다.

 

일반적으로 TDD기반으로 코드를 짠다면 정말 좋겠지만 그럴 여유가 되지 않는 경우는

 

개발자가 손수 유지 보수를 할 수 밖에 없습니다.

 

스크립트로만 중단점을 찾는 것이 어려울 때 특정 상황을 개발자 모드 기능을 통해 디버깅할 수 있습니다!

 

일반적으로 스크립트는 정방향으로 흐르지만 이러한 브레이크 포인트들은 콜백함수와 비슷한 형태로 디버깅을 할 수 있다는 장점이 있는 것 같습니다

'Tips' 카테고리의 다른 글

html, css, javascript 정적파일 생성 쉘 스크립트  (1) 2024.03.14