게으른 컴공생
article thumbnail
Published 2022. 10. 14. 10:53
Android Studio Debugger 기술/안드로이드

Android Studio Debugger

https://developer.android.com/codelabs/basic-android-kotlin-compose-intro-debugger?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-2%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-intro-debugger#0 

 

Android 스튜디오에서 디버거 사용하기  |  Android Developers

Android 스튜디오에서 디버거를 사용하여 런타임 시 앱의 상태를 검사하고 디버그하는 방법을 알아봅니다.

developer.android.com

위의 페이지를 참고하여 개발에 정말 유용한 도구인 Debugger의 기본적인 사용법을 알아보자

 

개요

오늘의 내용은 다른 IDE를 써봤다면 사실 볼 내용이 별로 없다

크게 Debugger 모드로 어떻게 진입하고 breakpoint를 어떻게 설정하는지와

한줄씩 코드 실행, 변수 watch등 디버거의 기능을 어떻게 사용하는지

두 가지로 나뉜다

 

 

 

중단점 설정 후 디버거 모드 진입

일단 디버거 모드로 진입하고 싶다면 shift+f9나 벌레모양을 클릭하자

 

디버거 모드로 진입하기 전에 프로그램을 딱 그 위치까지만 실행시키는 중단점, breakpoint를 설정할 수 있다

설정하는 방법은 그냥 코드 왼쪽 빈 공간을 눌러 빨간점이 뜨게 하면 된다

지우려면 다시 클릭하면 됨

 

이렇게 중단점 설정 후 디버거 모드에 들어간다면 내가 설정한 그 지점에서 프로그램 실행이 멈추고

밑에 디버그 화면이 뜰 것이다

 

 

 

디버거 기능 이용하기

크게 3가지 기능을 자주 쓴다

1. 프로그램 계속 진행시키기

초록색 재생버튼을 통해 이 기능을 사용할 수 있다

마우스를 올려보면 resume program이라고 해서 다음 중단점이 있을 때까지 프로그램을 진행시키는 기능이다

단축키는 f9이다

 

 

2. 프로그램 한줄씩 실행시키기

파란색, 빨간색 화살표가 이쪽 저쪽을 가리키고 있는 친구들이 이 역할을 수행한다

이름이 step over, step into, step out인데

step over는 지금 상태(중단점에서 멈춘)에서 코드 한줄을 실행시키는 기능이다

step into와 over는 서로 반대기능인데

step into는 step over로 실행시킬 코드 한줄에 함수호출이 있다면 그 함수의 내부 로직으로 들어가는 기능이다

step out은 그 함수에서 나오는 기능이다

 

예시를 들자면 다음과 같은 코드가 있다고 했을 때

fun main() {
    justFun()
    justFun()
}

fun justFun(){
    println("this")
    println("is")
    println("just function")
}

 

justFun()을 최초로 호출하는 코드의 2번째 줄에 중단점을 설정하고 디버거 모드로 진입했다고 생각해보자

 

여기서 step into를 누르면 justFun의 정의 부분인 코드의 6번째 줄로 이동하는 것이고

step over를 누른다면 justFun()을 두번째로 호출하는 3번째 줄로 이동하는 것이다

 

 

3. 변수 관찰하기

중단점에 도달했거나, 중단점에 도달한 이후 step into/over/out을 이용하면

프로그램이 멈춘상태가 되는데,

그 멈춰있는 상태에서 변수의 값을 확인할 수 있게 해주는 기능이다

흔히 'watches' 기능이라고 부르는 듯 싶다

 

기본적으로 현재 scope 내의 변수들을 보여주긴 하지만

내가 원하는 변수나 표현식을 추가해서 값을 볼 수 있다

위 사진에서 variables라고 써있는 글자 왼쪽의 + 기호를 누르면 추가할 수 있다

 

 

 

 

디버거는 예전에 학교 다니면서 C로 뭔가 만들 때 참 유용하게 썼던 기억이 있다

자주 쓰면서 익숙해지도록 해야겠다

'기술 > 안드로이드' 카테고리의 다른 글

Tip Time App - remember API, Composable LifeCycle  (2) 2022.10.14
Lemonade App - clickable  (0) 2022.10.14
Dice Roller App - remember API  (0) 2022.10.14
Kotlin의 lambda expression  (0) 2022.10.14
Kotlin의 class, property delegation  (0) 2022.10.14
profile

게으른 컴공생

@노나니노나

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그