loading

프로그래밍/안드로이드

[Android Studio] 디버깅 방법에 대해서 알아보자!

침착곰 2021. 5. 10. 11:38
반응형

안녕하세요

안드로이드 개발을 하면 에러가 났을 때 도저히 원인을 못 찾는 경우가 있습니다(다른 언어를 개발할 때도 마찬가지죠...)

보통 디버깅을 통해서 에러의 원인을 찾습니다

안드로이드 스튜디오의 디버깅 방법에 대해서 알아보겠습니다

 

목차

브레이크 포인트(BreakPoint) 찍기
디버깅모드로 실행하기
실행 중 디버깅모드로 전환하기
디버깅으로 데이터 확인하기
디버깅 아이콘
디버깅 단축키 변경하기

 


브레이크 포인트(BreakPoint) 찍기

모든 동작을 할 때 일일히 디버깅을 하는 것은 불가능합니다

특정 동작을 할 때 프로그램을 멈춰서 한 단계씩 실행을 시켜야합니다

그러기 위해서는 소스코드에 디버깅 포인트를 찍어야합니다

아래처럼 디버깅 찍을 코드에서 왼쪽 줄 번호의 빈 공간을 클릭하면 브레이크 포인트가 찍힙니다

 

브레이크 포인트가 다이아몬드로 찍힌다면 이 부분은 메소드 브레이크 포인트입니다

메소드 브레이크 포인트를 사용하면 속도가 많이 느려진다 하니 왠만하면 그 밑에 코드에 브레이크 포인트를 찍어줍니다

 

메소드 브레이크 포인트를 찍으면 아래처럼 디버깅모드로 실행할 때 메시지가 나타납니다

 


디버깅모드로 실행하기

 첫 번째 방법은 상단 메뉴 바의 "벌레"아이콘을 선택하여 디버깅모드로 실행할 수 있습니다

마우스를 올리면 단축키도 나타납니다 Shift + F9(쉬프트 + F9)를 누르면 디버깅모드로 실행합니다

 

두 번째 방법입니다

1. 상단 메뉴에서 "Run"메뉴를 드롭다운합니다

2. "Debug 'app'"을 선택하여 디버깅모드로 실행을 합니다

 


실행 중 디버깅모드로 전환하기

 처음에는 일반모드로 실행했다가 도중에 에러가 떴을 경우 다시 디버깅모드로 실행하려면 리소스가 많이 소모됩니다

안드로이드 스튜디오에서는 도중에 디버깅모드로 전환하여 실행이 가능합니다

디버깅모드로 전환하는 방법에 대해서 알아보겠습니다

 

애뮬레이터가 실행된 후 벌레에 화살표가 있는 아이콘을 선택하면 앱에 디버깅모드로 접근합니다

간단하게 전환이 가능합니다

 

디버깅 모드 전환을 선택하면 아래와 같이 Choose Process 팝업이 나타납니다

어떤 애뮬레이터를 디버깅할 지 선택을 해줍니다

 (보통은 한 개 일 것이므로 굳이 선택할 필요는 없을겁니다)

"OK"버튼을 눌러서 디버깅모드로 전환합니다

 

아이콘으로 디버깅모드로 전환하는 것 이외에 다른 방법입니다

1. 상단 메뉴에서 "Run"을 선택하면 메뉴가 드롭다운됩니다

2. "Attach to Process..."을 선택하여 디버깅모드로 전환합니다

 


디버깅으로 데이터 확인하기

디버깅의 브레이크포인트를 찍는 방법과 디버깅모드로 실행하는 방법에 대해서 알아봤습니다

이제 디버깅을 통해서 데이터를 확인하여 에러를 잡는 방법에 대해서 확인하겠습니다

프로그램이 브레이킹포인트를 지나면 아래와 같이 프로그램이 중단됩니다

1. "Debug"탭으로 들어갑니다

2. "Variables"에 들어가면 해당 변수의 데이터를 확인이 가능합니다

 -> 참고로 기본적으로 프로그램을 실행할 때 필요한 변수가 자동으로 지정이 되지만 코드의 특정 변수를 확인하고 싶은 경우에는 특정 코드를 블록을 잡은 후 드래그 앤 드롭을 통하여 그 변수의 데이터만 확인이 가능합니다

 

3. 브레이크포인트에서 멈춘 경우 다음 단계로 이동, 디버깅을 중단, 다음 브레이크포인트로 이동 등 다양한 기능을 제공하는 부분입니다

차례대로 설명을 시작하겠습니다

 


 

디버깅 아이콘

1. Show Exceution Point : 현재 진행중인 코드로 이동합니다

2. Step Over : 중단점에서 코드의 다음 줄로 이동합니다

3. Step Into : 현재 라인에서 메서드 포함 다음 단계로 이동합니다

4. Force Step Into : Settings의 "Debugger"옵션의 "Stepping"에 들어가면 "Do not step into the classes" 항목이 있습니다

Step Into의 경우 이 항목을 스킵하면서 디버깅을 실행합니다

하지만 Force Step Into는 모든 코드를 거치면서 디버깅을 하는 모드입니다

 

5. Step Out : 메소드 밖으로 나갑니다

6. Drop Frame : 간혹 무심코 다음단계로 계속을 누르다 브레이크포인트를 지나칠 때가 있습니다

 Drop Frame 기능을 사용하여 다시 처음부터 실행할 필요가 없이 브레이크포인트 이전 상태로 돌아갑니다

7. Run to Cursor : 디버깅을 하는 중에 커서가 있는 곳으로 바로 이동해서 디버깅을 진행하고 싶을 때 사용합니다

 커서가 있는 곳으로 디버깅 단계가 이동이 됩니다

 


디버깅 단축키 변경하기

TMI로 디버깅 단축키를 변경하는 방법에 대해서 알아보겠습니다

이 내용은 제가 궁금해서 한 번 찾아봤습니다

안드로이드 "Settings"에 접속해야합니다

1. "Ctrl + Alt + S"를 눌러서 Settings에 들어갑니다

2. 상단 메뉴의 "File" - "Settings..."에 들어가서 Settings에 들어갑니다

두 가지 방법을 통해서 Settings에 들어갈 수 있습니다

 

1. 왼쪽 메뉴에서 "Keymap"을 선택합니다

2. 검색창에 debug로 검색합니다

3. Debug를 우클릭하여 메뉴 중 "Add Keyboard Shortcut"에 들어가줍니다

 

아래와 같이 창이 나타나면 단축키를 변경해주면 됩니다

단축키를 변경하고 "OK"를 누르면 단축키가 변경됩니다!!

 

여기까지 단축키를 변경하는 방법이었습니다

 

 

이상 안드로이드 스튜디오의 디버깅 방법, 디버깅 아이콘들의 기능, 디버깅 단축키 변경방법 등 디버깅에 대해서 여러가지를 알아봤습니다

안드로이드 개발자 분들에게 이 글이 참고가 되었으면 좋겠습니다!!

반응형
그리드형