Android How to debug the app

사용 언어: Kotlin 1.9.10
사용 버전: Android Studio Giraffe 2022.3.1 Patch 2

안드로이드 How to debug the app을 알아보겠습니다.

앱을 개발하면서 디버그를 해야 할 때가 있습니다. 오늘은 그 과정을 알아봅시다.


출처:
https://developer.android.com/codelabs/basic-android-kotlin-compose-intro-debugger#0



Debugger(디버거)는 안드로이드 스튜디오에서 제공해 주는 기능 중 하나입니다.

실행 중인 앱에 디버거를 부착하는 방법과 처음부터 디버거를 실행하는 방법이 있습니다.


실행 중인 앱에 붙이려면 Attach Debugger to Android Process 버튼을 눌러줍니다.





처음부터 시작하려면 Debug 'app'을 눌러줍니다.




자, 실행 방법은 이제 둘러보았고 Breakpoint(중단점)를 설정하는 방법을 알아봅니다.

줄 번호와 코드 사이에 긴 빈 공간이 있습니다. Gutter(빗물받이, 홈통)이라 부르는 곳인데 어찌 생긴 게 처마 밑에 달린 것과 닮았네요.


저기 사이를 누르면 빨간 동그라미가 생깁니다. 저기가 Breakpoint입니다.

어딘지 모르겠다면 제 화면의 빨간 동그라미가 생기는 부분을 눌러보세요.





Debugger를 실행하면 빨간 동그라미 부분에서 프로그램이 멈춥니다.

Debug 탭에 들어가면 3분할 화면이 나옵니다. 왼쪽부터 Frame, Variables, Overhead입니다.






화면 구조가 다르다면 Layout Settings에서 조정 가능합니다.





Frame에는 Call Stack이 보이고 제일 상단에 있는 것이 최근에 불러와진 함수입니다.






가운데는 variables로 현재 멈춘 상태의 변수들의 값을 볼 수 있습니다.






OverHead에는 Breakpoint의 상태를 볼 수 있습니다.







Step Into 멈춰진 커서의 함수 안으로 들어간다는 말입니다.






현재는 DiceWithButtonAndImage에 멈춰있으므로 StepInto를 하면 DiceWithButtonAndImage 함수로 들어가집니다.





그리고 Frame에는 Call Stack 제일 상단에 DiceWithButtonAndImage가 추가됩니다.






Step Over은 현재 커서 다음 라인으로 커서를 이동합니다. 즉, Step Into처럼 내부로 안 들어가고 그냥 실행시킨다는 말입니다.








Step Out은 현재 있는 곳에서 상위로 나간다는 말입니다. 그러면, 다시 DiceWithButtonAndImage 다음 라인으로 커서가 이동되겠네요.






자, 돌아왔습니다.




옆에 있는 Run to Cursor는 커서를 찍은 곳까지 실행한 뒤, 멈추겠다는 뜻입니다.




그러면 Debugger에서 중요한 것은 다 알았습니다.

Call Stack, Variables 등



그리고 그냥 실행하고 싶다면 Resume Program을 눌러줍니다.








종료하고 싶다면 Stop 'app'을 눌러줍니다.





끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)