ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Eclipse 디버깅하는 법 / 디버깅 중 정적변수 보기(<Java 기초강의 - 6> 알아봐요
    카테고리 없음 2020. 2. 25. 04:59

    아직 자바에 대해서는 초보자인 내가 Kh 정보교육원에서 자바 강의를 듣고 알게 된 점을 정리해서 올리는 글이다.너무기초적인스토리는올리지않고그전에잘몰랐기때문에내가새롭게알게된사실을중심으로글을쓰게됩니다.김 1글을 대적할 스토리웅엑리프스(Eclipse), 디버깅 하는 법/디버깅 중 정적 변수를 확인하는 방법이다. 디버깅하는 방법과 디버깅중의 정적변수를 보는 방법을 올립니다.


    디버깅이란 버그를 갖는 과정을 의미합니다. 과거 컴퓨터가 한 층 높이 정도의 큰 크기였을 때 벌레(Bug)가 컴퓨터 본체에 들어가면 컴퓨터가 잘 작동하지 않아 벌레를 잡는 과정(Debug)이 필요했는데, 이에 따라 소스 코드에서 잘못된 코드를 발견하고 올바르게 동작하는 과정을 디버깅이라고 합니다.프로그래밍 입문자의 경우에는 내가 만든 코드를 동작 순으로 눈으로 따라가서 잘못된 코드가 있는지 체크하고 디버깅을 해제할지는 코딩 공부에 좋습니다.이후 초보 개발자는 print 함수 등을 활용하여 콘솔 화면(Console)에서 주로 원하는 변수 값을 출력하는 방식으로 디버깅 과정을 실시합니다.하지만 이런 비결은 실제 메모리 값에 어느 값이 매 순간 들어 있는지를 확인할 수 있는 것이 아니기 때문에 소스 코드가 길어지고 메서드 등을 통해 복잡하게 값을 주고받는 정세가 오면 고란 방식으로 잘못된 부분을 찾아 디버깅하기가 어려워집니다.


    그리고 이클립스, 비주얼 스튜디오 등의 프로그램에서는 디버깅을 지원한다.Visual Studio의 경우 Ctrl+F5버튼이 디버깅 없이 실행, F5버튼은 디버깅의 단축 키이다.이클립스의 경우 Ctrl + F 첫 단추가 디버깅 없이 실행, F 첫 버튼은 디버깅 단축키이다.이클립스에서 디버깅을 통해서 확인할 수 있는 부분은 메모리 주소, 변수 값 등 다양한데 대부분의 사람들은 실행 순서와 변수에 포함된 값을 확인하기 위해서 사용한다고 보시면 되겠습니다.디버깅 단축키를 누르기 전에 아래의 네모난 빨간색 박스 부분을 누릅니다.제가 보고 싶은 소스코드 부분에 더블클릭하면 옆에 파란색 동그라미가 생기게 됩니다.이 때 주의해야 할 점은 해당 위치의 소스코드가 실행되기 이전의 상태 정보가 나빠지지 않았다는 점이다.


    >



    >


    단축키를 누르고 디버깅이 시작되면 위와 같은 화면으로 화면이 바뀌도록 대조합니다.그래서 위의 화살표 버튼으로 디버깅을 눌러둔 다음 줄로 이동하여 과인정정지 버튼으로 디버깅을 종료할 수 있습니다.그래서 화면 우측 상단에는 Variables라고 하는 창이 있는데 거기에 있는 다양한 변수들을 볼 수 있습니다.만약 다른 창이 떠있을 수 있는 Variables 창이 보이지 않으면 메뉴 탭에서 Windows - Show View - Variables를 클릭하여 창을 작성할 수 있습니다.Windows-Show View-Debug 유리도 같이 붙이고 왼쪽에 달아주시면 되는 게음니다.(우리 집에 프로젝트가 높아지고 package와 Class가 많아지다 보면 다른 부분에 있는 메인들을 찍은 1이 있테요로 곳의 변수의 값을 보면 유용합니다.


    >



    이렇게 디버깅을 찍어보면 전역의 변수가 나쁘지 않게 오시는 분들이 거의 없을 것 같습니다.자바에서는 전역변수는 정적(Static)으로 선언해서 사용하는데 이 정적변수를 Variables창에서 같이 보고 싶은 경우가 많습니다.이러한 정적 변수(대부분 전역 변수)를 보려면 조금 전에 우측 상단에 있던 Variable 창에서 우측 상단의 아래 화살표 모양을 클릭합니다.다음 Java-ShowStaticVariables를 누르면 전역변수를 볼 수 있습니다.


    >


    디버깅이 전체 종료된 후 원래 코딩 화면으로 되돌아가고 싶다면 우측 상단의 누른 벌레 모양 버튼 왼쪽에 패키지형 버튼을 클릭하십시오.다시 디버깅 화면으로 돌아가고 싶으면 그 오른쪽 버튼을 눌러주세요.


    >



    댓글

Designed by Tistory.