EGL 디버거 제어

중단점 및 변수 보기에 더하여, 다음 영역의 제어를 통해 EGL 디버거를 지시할 수 있습니다.
  • 디버그 보기에 있는 도구 모음의 단추
  • 중단점을 설정하는 회색 영역을 마우스 오른쪽 단추로 클릭하여 사용 가능한 컨텍스트 메뉴 옵션

도구 모음 단추

Resume
다음 중단점까지 또는 실행 단위가 종료될 때까지 코드를 실행합니다. 디버거 환경 설정이 그에 따라 설정되어 있는 경우 디버거가 기본 함수의 첫 번째 명령문에서 중지합니다. EGL 디버거의 환경 설정 설정의 내용을 참조하십시오.
Suspend
이로 인해 디버거가 다음 기회에 실행을 일지정지합니다. 이 단추는 실행이 진행 중인 동안에만 사용 가능합니다.
Terminate
추가 시지사항을 실행하지 않고 프로그램을 종료합니다.
Step Into
다음 EGL 명령문을 실행하고 일시정지합니다.
다음 목록은 특정한 명령문 유형에 대해 명령 step into를 실행하는 경우 발생하는 항목을 표시합니다.
call
피호출 프로그램이 EGL 디버거에서 실행하는 경우 피호출 프로그램의 첫 번째 명령문에서 중지합니다. 피호출 프로그램이 EGL 디버거의 외부에서 실행하는 경우 현재 프로그램에서 다음 명령문을 중지합니다.
EGL 디버거는 워크벤치의 모든 프로젝트에서 수신 프로그램을 검색합니다.
converse
사용자 입력을 대기합니다. 해당 입력으로 인해 처리가 다음 실행 중인 명령문에서 중지하며, 이는 유효성 검증기 함수에 있을 수 있습니다.
forward
코드가 JSF 핸들러로 전달되면 디버거가 사용자 입력을 대기한 후 다음 실행 중인 명령문에서 중지하며, 이는 유효성 검증기 함수에 있을 수 있습니다. 코드가 프로그램으로 전달되는 경우 디버거가 해당 프로그램의 첫 번째 명령문에서 중지됩니다.
function invocation
함수의 첫 번째 명령문에서 중지합니다.
show, transfer
디버거 환경 설정이 그에 따라 설정되어 있는 경우 디버거가 제어를 수신하는 프로그램의 첫 번째 명령문에서 중지합니다. EGL 디버거의 환경 설정 설정의 내용을 참조하십시오. 대상 프로그램은 EGL 디버거에서 실행되는 EGL 소스 코드이지만, EGL로 생성되지 않습니다.
show 명령문 또는 transfer 명령문 이후 EGL 디버거가 새 프로그램에 대해 빌드 디스크립터로 전환하거나 (해당 빌드 디스크립터가 사용 중이 아닌 경우) 새 빌드 디스크립터에 대한 프롬프트를 사용자에게 표시합니다. 새 프로그램에는 이전에 실행된 프로그램과 다른 특성 세트가 있을 수 있습니다.
Step over
다음 EGL 명령문을 실행하고 일시정지하지만, 명령문에서 호출되는 함수 내에서 중지하지 않습니다.
다음 목록은 특정한 명령문 유형에 대해 명령 step over를 실행하는 경우 발생하는 항목을 표시합니다.
converse
사용자 입력을 대기한 다음 유효성 검증 기능을 건너뜁니다(중단점이 적용되는 경우가 아니면). converse 명령문을 뒤따르는 명령문에서 중지합니다.
forward
코드가 JSF 핸들러로 전달되면 디버거가 사용자 입력을 대기한 후 다음 실행 중인 명령문에서 중지하지만 유효성 검증기 함수에는 없습니다(중단점이 적용되는 경우가 아니면).
코드가 프로그램으로 전달되는 경우 디버거가 해당 프로그램의 첫 번째 명령문에서 중지됩니다.
show, transfer
디버거 환경 설정이 그에 따라 설정되어 있는 경우 디버거가 제어를 수신하는 프로그램의 첫 번째 명령문에서 중지합니다. EGL 디버거의 환경 설정 설정의 내용을 참조하십시오. 대상 프로그램은 EGL 디버거에서 실행되는 EGL 소스 코드이지만, EGL로 생성되지 않습니다.
show 명령문 또는 transfer 명령문 이후 EGL 디버거가 새 프로그램에 대해 빌드 디스크립터로 전환하거나 (해당 빌드 디스크립터가 사용 중이 아닌 경우) 새 빌드 디스크립터에 대한 프롬프트를 사용자에게 표시합니다. 새 프로그램에는 이전에 실행된 프로그램과 다른 특성 세트가 있을 수 있습니다.
Step return
호출 프로그램 또는 함수에 리턴하는 데 필요한 명령문을 실행한 다음 해당 프로그램 또는 함수에서 제어를 수신하는 명령문에서 일시정지합니다.
유효성 검증기 함수의 step return 명령은 예외입니다. 그러한 경우 동작이 step into 명령의 동작과 동일하며, 이는 주로 EGL 디버거가 다음 명령문을 실행하고 일시정지함을 의미합니다.
프레임에 놓기
디버그 보기에 표시된 스택의 프레임을 선택하고 프레임에 놓기 단추를 클릭하여 선택된 프레임 위의 모든 프레임을 스택에서 제거하십시오. 선택된 프레임은 첫 번째 명령문으로 재배치됩니다. 이는 제거되거나 재배치된 프레밍에 발생한 항목을 실행 취소하지 않습니다. 현재 프레임에 놓으면 프로그램이 프레임의 첫 번째 명령문으로 리턴합니다. 프레임은 함수, 글로벌 변수 초기자(initializer) 명령문 또는 openUI 명령문을 나타냅니다. 스택은 현재 프레임의 목록입니다.

함수에서 실행 중인 마지막 항목인 명령문에 대해 명령 step into 또는 step over를 실행하는 경우(또한 해당 명령문이 return, exit program, exit rununit 또는 exit stack이 아닌 경우), 함수에 로컬인 변수를 검토할 수 있도록 처리가 함수 자체에서 일시정지합니다. 이 경우 디버그 세션을 계속하려면 다른 명령을 실행하십시오.

EGL을 디버깅하는 경우 단계 필터 사용 단추가 적용되지 않습니다.

컨텍스트 메뉴 옵션

행까지 실행
지정된 행의 명령문 미만까지 모든 명령문을 실행합니다.
행까지 점프
코드 행의 왼쪽에 회색 경계를 마우스 오른쪽 단추로 클릭한 다음 이 옵션을 클릭하면 해당 행에서 디버거가 재배치됩니다. 현재 활성 스택의 파트인 함수의 행으로만 점프할 수 있습니다. 즉, 현재 사용자가 있는 함수 또는 현재 함수를 호출한 함수입니다. 이 명령은 Rich UI 디버깅에서 사용할 수 없습니다.
중단점 추가
처리가 일시정지하는 행을 식별합니다. 코드 실행이 일시정지하면 파일 및 화면의 상태와 변수 값을 검사할 수 있습니다. 중단점을 제거하는 경우가 아니면 중단점이 하나의 디버깅 세션에서 다음 세션으로 운반됩니다. 빈 행 또는 주석 행에서 중단점을 설정할 수 없습니다.
중단점 사용 안함
중단점을 비활성화하지만 이를 제거하지 않습니다.
중단점 사용
이전에 사용 안함으로 설정된 중단점을 활성화합니다.
중단점 제거
처리가 행에서 더 이상 자동으로 일시정지하지 않도록 중단점을 지웁니다.
모든 중단점 제거
모든 중단점을 지웁니다.
EGL 디버거가 다음 EGL 시스템 함수를 무시합니다.
  • sysLib.audit()
  • sysLib.purge()
  • vgLib.startTransaction()

예를 들어, 이러한 명령문에 대해 중단점을 추가할 수 있지만, step into 명령은 후속 명령문으로 계속 진행하고 달리 적용되지 않습니다.

기타 제어

추가 옵션이 변수 보기와 중단점 보기에서 사용 가능합니다. 자세한 정보는 EGL 디버거에서 "EGL 디버거의 변수 보기" 및 "EGL 디버거의 중단점 사용"을 참조하십시오.

호환성

표 1. 디버거 제어에 대한 호환성 고려사항
플랫폼 문제
웹 트랜잭션 유효성 검증기 함수를 제거할 수 없습니다. 예를 들어, 스택에 converse 명령문이 포함되고 이에 유효성 검증기 함수가 뒤따르고 유효성 검증기 함수가 호출한 함수가 뒤따르는 경우 유효성 검증기 함수에 놓을 수 있지만 converse 명령문에 놓을 수 없습니다.