디버거(Debugger)란?
A debugger ordebugging tool is a computer program that is used to test and
debug other programs (the "target" program) (from wikipedia)
대상 프로그램을 테스트하고 디버그하는 용도의 컴퓨터 프로그램
3
4.
디버거(Debugger)란? (안드로이드 개발자버전)
안드로이드 애플리케이션을 실행한 후
앱이 미리 지정한 중단점에 도달했을 때
앱의 실행을 멈추고
앱의 내부를 확인해서
문제를 파악하는 도구
4
5.
디버거를 활용한 개발흐름
1. 열코딩
2. 앱 실행했는데 문제 발생!
3. 문제의 원인으로 추정되는 코드 근처에 중단점 설정
4. 디버깅 모드로 앱 실행
5. 중단점에 멈추면 열심히 문제 원인을 파악
6. GOTO 1
5
6.
디버거를 활용한 개발흐름
1. 열코딩
2. 앱 실행했는데 문제 발생!
3. 문제의 원인으로 추정되는 코드 근처에 중단점 설정
4. 디버깅 모드로 앱 실행
5. 중단점에 멈추면 열심히 문제 원인을 파악 ⇐ 효율적으로 수행해보자
6. GOTO 1
6
중단점 걸기
줄 번호옆의 애매한 공간을 클릭
● 좌클릭: 설정 / 해제
● 우클릭: 상세 정보 창 표시
● Opt + 좌클릭: 비활성화
11
12.
중단점 도달 후진행
● Step Into(F7) : 호출한 함수 내부로 파고들기
○ Smart Step Into(Shift + F7) : 파고들 대상이 여러개일 경우 Step Into 할 대상 고르기
● Step Over(F8) : 다음 줄로 진행
● Step Out(Shift+F8) : 현재 함수 빠져나오기
● Run to Cursor(Opt+F9) : 일일이 Step over 귀찮아. 커서에서 멈춰라!
● Resume(Opt+Cmd+F8) : 실행 상태로 복귀
● Stop Process(Cmd+F2) : 디버깅 종료하고 앱은 실행 상태로 복귀
12
13.
중단점 도달 후진행
각각 어디로 이동할까?
● Step Into
● Step Over
● Step Out
13
14.
각각 어디로 이동할까?
●Step Into
● Step Over
● Step Out
중단점 도달 후 진행
14
실행중인 앱에 디버거붙이기
앗차, 디버거 모드로 실행하지 않았네!
⇒ Attach Debugger to Android process
16
17.
값 평가(evaluation)
● Evaluate(Opt+F8): 현재 중단된 상태에서 값을 평가
○ 코틀린 사용 시 기본은 Expression 모드
○ 하나의 Expression 으로 안끝나면 Code Fragment 모드로 전환
● 계속 확인해야 할 값은 Watch에 추가
17