제 3과: 스레드 검사하기

이 과에서는, Blink 프로젝트를 구성하는 스레드 그룹, 스레드, 그리고 스택 프레임 등을 살펴볼 것입니다. 프로그램이 진행될 때 변수 값의 변화를 추적하는 법도 배울 것입니다.
  1. [디버그] -> [스레드/스택]을 선택하십시오.
    [Java Development Environment 스레드/스택] 창이 화면에 나타납니다.

    Blink 프로젝트에는 세 개의 스레드 그룹이 포함되어 있으며, 각 스레드에는 기호 문자가 붙어 있습니다:

    sun.applet.AppletViewer.main 스레드 그룹에는 세 개의 스레드가 들어 있으며, Blink 파일 스레드 그룹에는 두 개의 스레드가 들어 있습니다.
  2. sun.applet.AppletViewer.main 스레드 그룹의 첫번째 스레드인 "AWT-EventQueue-0"를 살펴보십시오.

    다음과 같은 것들이 보일 것입니다:

    스레드에 붙어 있는 기호 문자는 스레드의 상태를 알려 주는 또 다른 단서입니다. 나타날 수 있는 가능한 기호 문자는 다음과 같습니다:
    스레드가 일시 정지 상태입니다.
    스레드가 중단점에서 멈추었습니다.
    스레드의 상태를 판단할 수 없습니다.
    스레드가 되살아난 시체와 같습니다.
    스레드가 실행 중입니다.
    스레드가 잠자고 있습니다.
    스레드가 조건 변수를 기다리고 있습니다.

  3. 스레드 클래스를 구성하는 호출 스택을 살펴 봅시다.
    호출 스택에는 호출되었지만 실행 결과를 돌려 주지는 않은 모든 메서드들이 들어 있습니다. 프로그램이 멈추었을 때 실행 중이었던 Blink.paint이 스택의 제일 위에 있습니다. 스택 프레임은 반전 표시되어 있으므로 프로그램이 어디에서 멈추었는지 쉽게 알 수 있습니다. 각 스택 프레임에는 기호 문자가 붙어 있습니다.
  4. 기호 문자 옆에 있는 +를 마우스로 눌러서 Blink.paint 스택 프레임을 여십시오.
    Java Development Environment는 Blink.paint과 관련이 있는 변수 및 현재의 변수 값을 보여 줍니다. 변수 word를 살펴 보십시오. word 변수의 값을 살펴 보십시오.
  5. 편집/디버그 도구 모음에서 [진행] 단추를 마우스로 누르십시오.
    프로그램이 루프를 따라 실행되다가 다시 중단점에 도달하면 멈춥니다. 스레드/스택 디스플레이가 갱신되고, word 변수의 값이 변경됩니다. 이 값은 "Java Development Environment is really cool :-)"과 함께 순환이 됩니다.
  6. 기호 문자 옆에 있는 +를 마우스로 눌러서 이 객체를 여십시오.
    Java Development Environment은 이 객체를 확장시켜 객체 내에 있는 모든 포함된 변수들이 나타나게 합니다. 중첩된 객체 (예를 들면, peer)에서 이 동작을 반복할 수 있습니다.
  7. 이 객체의 왼쪽에 있는 -를 마우스로 누르십시오.
    객체 구조 표시가 축소됩니다.

다음 과:

제 4과: 메서드를 프로시저 단위로 실행하기