개발공부/개념

[0317] 디버깅

이자드 2022. 3. 17. 14:04

코딩이 어려운 이유는 변수에 알맞은 메서드도 중요하지만 맞게 쓴다고 해서 내가 원하는(예상하는) 결과값이 나온다는 보장이 없다

 

변수에 내가 원하는 값이 잘 들어갔는지 확인하는 도구가 디버깅!

 

디버깅

정확히 어디에서 문제가 발생했는지 범위를 좁혀가며 버그를 빠르게 찾아내는 것과 수정하는 것을 지칭

 

제일 중요한 것은 문제를 정의하는 것

어떤 문제, 버그, 오류인지 → 그에 따른 적절한 솔루션 서치

 

├───────────────────────────────────────────────────┤

현재                                                                                                                             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