코딩이 어려운 이유는 변수에 알맞은 메서드도 중요하지만 맞게 쓴다고 해서 내가 원하는(예상하는) 결과값이 나온다는 보장이 없다
변수에 내가 원하는 값이 잘 들어갔는지 확인하는 도구가 디버깅!
디버깅
정확히 어디에서 문제가 발생했는지 범위를 좁혀가며 버그를 빠르게 찾아내는 것과 수정하는 것을 지칭
제일 중요한 것은 문제를 정의하는 것
어떤 문제, 버그, 오류인지 → 그에 따른 적절한 솔루션 서치
├───────────────────────────────────────────────────┤
현재 exspected, want
일어나는 일 원하는 것은 기능 뿐만 아니라
어떤 순서로? (ux/ui logic/flow performance
어떤 버그가 일어났는지? 등 다양함
console.log
수동적 출력
interective debugging
debugger(이클립스 기준)
breakpoint
의심 가는 곳에 범위를 좁혀서 설정
디버그 실행시 해당 breakpoint에 멈춰있음
이클립스 창
variables
변수 전체 확인 가능
local, global 모두
expressions
특정 변수 확인
문장을 통해 특정 값을 판별할 수 있음
(ex. result==3: true 검사)
breakpoints
breakpoint 확인 가능
부분적 breakpoint를 비활성화등 제어 가능
실행
실행(F8) : 다음 breakpoint로 바로 실행
step over(F6) : 코드 한줄씩 실행 다른 함수 호출로 들어가지 않음
step into(F5) : 코드 한줄씩 실행, 다른 함수 호출시 들어감
step out ( F7) : step into 로 들어온 함수 밖으로 빠져나오기
point!
variable 에서 변수의 값을 동적 변경 가능
expressions 에서 조건식 만들 수 있음
꿀팁
breakpoint에 조건 걸기
breakpoint 위에 마우스 올리고 ctrl + 더블클릭
hit count : cnt 숫자만큼 달성 된 후 break
이 글은
https://www.youtube.com/watch?v=IwC-BVM2_YQ https://youtu.be/HR3F1VfCBuQ
강의와
이클립스 디버깅 단축키 설명
자주 쓰지 않는 이클립스다보니 Visual Studio랑 많이 헷갈린다. -_- 그래서 일단 간단하게나마 정리 F5 - Step Into : 해당 라인을 실행한다. 단 현재 라인에 함수가 포함되어 있다면 그 함수 속으로 들
artwook.tistory.com
포스팅을 참고하였습니다
'개발공부 > 개념' 카테고리의 다른 글
| [용어정리] 오버헤드(overhead) 란? (0) | 2022.06.24 |
|---|---|
| [개념 정리] 트랜잭션 (transaction) (0) | 2022.05.10 |
| http request 구조 (0) | 2022.05.09 |
| [0315] 공부 (0) | 2022.03.15 |
| [0311] DB 설계 공부 (0) | 2022.03.11 |