Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android studio 디버거 조금 더 잘 쓰기

4,191 views

Published on

2019.4월 GDG Korea Android 모임에서 발표한 안드로이드 스튜디오 디버거 활용 팁 내용

Published in: Technology
  • Hello! I have searched hard to find a reliable and best research paper writing service and finally i got a good option for my needs as ⇒ www.HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Android studio 디버거 조금 더 잘 쓰기

  1. 1. Android Studio 디버거 조금 더 잘 쓰기 안세원 kingori @ gmail . com
  2. 2. 발표자 안세원 ● 안드로이드 애플리케이션 개발자 @ 카카오모빌리티 ● GDG Korea Slack #android 죽돌이 ● GDG 판교 점심먹기 모임의 고인물 2
  3. 3. 디버거(Debugger)란? A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program) (from wikipedia) 대상 프로그램을 테스트하고 디버그하는 용도의 컴퓨터 프로그램 3
  4. 4. 디버거(Debugger)란? (안드로이드 개발자 버전) 안드로이드 애플리케이션을 실행한 후 앱이 미리 지정한 중단점에 도달했을 때 앱의 실행을 멈추고 앱의 내부를 확인해서 문제를 파악하는 도구 4
  5. 5. 디버거를 활용한 개발 흐름 1. 열코딩 2. 앱 실행했는데 문제 발생! 3. 문제의 원인으로 추정되는 코드 근처에 중단점 설정 4. 디버깅 모드로 앱 실행 5. 중단점에 멈추면 열심히 문제 원인을 파악 6. GOTO 1 5
  6. 6. 디버거를 활용한 개발 흐름 1. 열코딩 2. 앱 실행했는데 문제 발생! 3. 문제의 원인으로 추정되는 코드 근처에 중단점 설정 4. 디버깅 모드로 앱 실행 5. 중단점에 멈추면 열심히 문제 원인을 파악 ⇐ 효율적으로 수행해보자 6. GOTO 1 6
  7. 7. 디버깅 효율적으로 하기 7
  8. 8. 디버깅 효율적으로 하기 디버거 사용을 최소화한다! ⇒ 디버거는 실행 후 문제를 파악하는 용도이다보니 시간이 걸릴 수 밖에 없다 1. 짱 잘 짠다. 버그가 뭐죠? 2. 테스트, 분석도구 등을 이용해 좀 더 일찍 문제를 찾아내어 고친다 8
  9. 9. 디버깅 효율적으로 하기 디버거를 쓰겠다면 IDE의 기능을 최대한 활용하자! https://www.jetbrains.com/help/idea/debugging-code.html IntelliJ 의 디버거 도움말이 이렇게 긴 데, ⇒ 당신은 어디까지 알고 쓰는가! 9
  10. 10. 기본부터 10
  11. 11. 중단점 걸기 줄 번호 옆의 애매한 공간을 클릭 ● 좌클릭: 설정 / 해제 ● 우클릭: 상세 정보 창 표시 ● Opt + 좌클릭: 비활성화 11
  12. 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. 13. 중단점 도달 후 진행 각각 어디로 이동할까? ● Step Into ● Step Over ● Step Out 13
  14. 14. 각각 어디로 이동할까? ● Step Into ● Step Over ● Step Out 중단점 도달 후 진행 14
  15. 15. 심화학습 15
  16. 16. 실행중인 앱에 디버거 붙이기 앗차, 디버거 모드로 실행하지 않았네! ⇒ Attach Debugger to Android process 16
  17. 17. 값 평가(evaluation) ● Evaluate(Opt+F8) : 현재 중단된 상태에서 값을 평가 ○ 코틀린 사용 시 기본은 Expression 모드 ○ 하나의 Expression 으로 안끝나면 Code Fragment 모드로 전환 ● 계속 확인해야 할 값은 Watch에 추가 17
  18. 18. 값 조작 Variable > Set Value… 로 조작도 가능! ● Kotlin의 val도 조작 가능 18
  19. 19. 조건부 중단점 특정 조건을 만족할 경우에만 중단점에 멈추도록 설정 ex) user.id == 100 ⇒ resume 연타는 이제 그만! 19
  20. 20. 안멈춰 중단점 중단점인데 중단을 안하다니? ● 임시 로깅 용도로 효과적 ● 더 이상 Logger.d( “here!!!”) 적어두고 깜빡하고 commit 하지 말자! 20
  21. 21. 객체 마킹 리스트 중 특정 인덱스의 인스턴스의 값을 확인하거나 조작하고 싶다면 객체를 마킹함 ● Variable > 해당 객체 > Mark Object ● 마킹한 객체는 Evaluate 창에서 바로 접근 가능 : [마킹한이름]_DebugLabel 21
  22. 22. Q & A https://www.jetbrains.com/help/idea/debugging-code.html https://github.com/kingori/studio_debugger_example 22
  23. 23. 끝 23

×