본문 바로가기
Android/기타

디버깅 찍는 법

by 안스 인민군 2022. 10. 8.

나는 예전 프로젝트를 할때 오류를 잡기 위해 Log.d 와 같은 방법으로 찾아갔다.

그러나 이번에 취업을 하면서 사수가 "디버깅 할 줄 아세요??"이런 식으로 묻자 말문이 막혔다. 역시.....실무자는 달라도 달라....

어쨌거나 지금 디버깅을 마스터하여 사수에게 이쁨을 받아보자!!

 

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

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

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

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

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

이렇게 찍으면 다음으로 넘어가지 않고 기다립니다.

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

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

디버깅모드로 실행하기

아래와 같이 벌레 버튼을 누릅니다.

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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 : 디버깅을 하는 중에 커서가 있는 곳으로 바로 이동해서 디버깅을 진행하고 싶을 때 사용합니다

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

 

 

출처 : https://crazykim2.tistory.com/509