자 이제 디버깅을 한번 해보자.
setContentView(R.layout.activity_main);
이 부분에 Line Break Point 를 잡아두고 디버깅을 실행해보았다.
아까 빨간 콩은 체크마크(∨)의 모자를 쓰게 되었다. 이 마크는 설정한 브레이크 포인트가 라인을 잡고있음을 뜻한다.
(break point has been hit)
그리고 Hello World! 라고 인사해야 할 화면은 건방져져서 인사를 더이상 하지 않는다.
바로 이 부분 (setContentView(R.layout.activity_main)이 화면을 뿌려주는 부분인가부다.
1. 어플은 실행되었으니 실행은 아니지 않을까?
2. 화면을 뿌려주지 않으니 얘가 뿌려주지 않을까?
합리적 의심을 해주자!
브레이크 포인트가 설정된 지점에 멈추면 다음과 같은 화면이 아래에 뜬다.
저기서 꺽인 화살표(F8)를 클릭하면 다음 진행으로 넘어가게 된다. 디버깅이 끝나면서 시작된다는 말이 아니다. 정말 다음 단계의 스텝까지만 실행된다.
예를 들어 메서드 단위에서 BP를 잡은 뒤 꺽인 화살표 (Step Over)를 눌렀다면, 해당 메서드가 실행 된 뒤 다음 라인까지만 실행된다고 한다. (이게 나도 무슨말인지 아직 정확하게 모른다.)
하지만 실제로 내가 실행해봤을때, 기능의 단위별로 실행되더라. 그냥 기능의 작은 단위별로 실행한다 정도로만 지금은 이해하고 넘어가겠다. (Tistory 포스트에 BP를 걸어두고 다음에 내가 이해되면 꼭 다시와서 이 글을 수정하겠다)
끗