skill

Chrome 개발자 도구로 디버깅하기 - 디버깅, breakpoint 개념 및 사용

잠수함 2022. 1. 7. 13:41
728x90

디버깅

- 스크립트 내 에러를 검출해 제거하는 일련의 과정을 의미합니다.

- 모던 브라우저와 호스트 환경 대부분은 개발자 도구 안에 UI 형태로 디버깅 툴을 구비해 놓습니다.

- 디버깅 툴을 사용시 디버깅이 훨씬 쉬워지고, 실행 단계마다 발생하는 이슈를 코드 단위로 추적이 가능합니다.

 

사용방법

1. F12 또는 마우스 우측 버튼을 클릭하여 '검사' 클릭합니다.

- mac OS: cmd + option + i

F12 버튼을 누르면 바로 개발자 도구가 열립니다.

 

2. 개발자 도구를 열어서 Sources 클릭합니다.

 

3. Sources에서 navigator를 클릭합니다.

- 버튼을 누르면 현재 사이트의 파일들이 나열됩니다.

 

 

4. Sources 패널은 크게 세 개의 영역으로 구성됩니다.

 ㄴ 파일 탐색 영역

페이지를 구성하는데 쓰인 모든 리소스를 트리 형태로 보여줍니다.

 

 ㄴ 코드 에디터 영역

리소스 영역에서 선택한 파일의 소스 코드를 보여줍니다. 여기서 소스코드를 편집할 수 있습니다.

 

 ㄴ 자바스크립트 디버깅 영역

디버깅 관련된 기능을 제공하는 영역입니다.

 

콘솔

- 개발자도구의 콘솔 창에서 명령어를 입력하고 Enter 또는 실행버튼을 누를경우 입력한 명령어가 실행이 됩니다.

명령어를 실행하는데 undefined가 뜰 수도 있는데 실행 명령어가 아무것도 반환하지 않으면 undefined가 나옵니다.

 

중단점 사용

- 중단점 설정을 하고자 하는 파일의 코드 라인의 줄 번호를 클릭합니다.

- 중단점: 자바스크립트 실행이 중단되는 코드 내 지점을 의미합니다.

- 중단점 이용시 실행이 중지된 시점에 변수가 어떤 값을 담고 있는지 알 수 있고 중지된 시점을 기준으로 명령어 실행이 가능합니다. 즉, 디버깅이 가능해집니다.

중단점 설정 성공!

 

debugger 명령어

- debugger 명령어를 사용하면 소스코드에서 중단점을 설정하는 수고를 덜 수 있습니다.

- 중단점을 기준으로 코드를 실행하면 중단점마다 코드가 중단이 됩니다.

* 디버깅 영역에서 역할

- Watch: 표현식을 평가하고 결과를 보여줍니다.

- Call Stack: 코드를 해당 중단점으로 안내한 실행 경로를 역순으로 표시합니다.

- Scope: 현재 정의된 모든 변수를 출력합니다.

 

 

실행 추적

 

- Resume: 실행을 재개합니다. 추가 중단점이 없는 경우, 실행이 죽 이어지고 디버거는 동작하지 않습니다.

 

- Step: 다음 명령어를 실행합니다. Step 버튼을 계속 누르면 스크립트 전체를 문 단위로 하나하나 실행할 수 있습니다.

 

- Step over: 다음 명령어를 실행하되, 함수 안으로 들어가지는 않습니다.

 

- Step into: 'Step'과 유사하지만 비동기 함수 호출에서 'Step'과 다르게 동작합니다. 비동기 동작을 담당하는 코드로 진입하고, 필요시 비동기 동작이 완료될 때까지 대기합니다. 

 

- Step out: 실행 중인 함수의 실행이 끝날때 까지 실행을 계속합니다. 현재 실행 중인 함수의 실행을 계속 이어가다가 함수 본문 마지막 줄에서 실행을 멈춥니다.

'skill' 카테고리의 다른 글

JWT  (0) 2021.07.25