PSM Debug

Debug Compile

익명문을 제외한 PSM 문장에 대해 Debug Compile을 수행할 수 있다. Toolbar의 Debug Compile 버튼을 통해 Debug Compile을 수행할 수 있다. 변수값 추적 및 Breakpoint 설정을 위해 디버깅을 시작하기 전에 Debug Compile이 선행되어야 한다.

Debug Compile 성공 시에는 성공 메세지가 표시되고, 작성한 CREATE (OR REPLACE) 구문이 Debug 모드에서 실행된다.

실패 시에는 에러 메세지가 표시되고, Error 탭에 에러가 표시된다.

Debug

Debug는 PSM 코드의 실행 과정을 단계별로 추적하고 분석할 수 있는 기능이다.

필요한 경우, 브레이크포인트를 설정하여 특정 지점에서 프로그램 상태를 확인할 수 있고, 변수를 등록하여 각 실행 단계에서 변수값의 변화를 추적할 수 있다.

또한 Step Into, Step Over, Step Any Return과 같은 다양한 실행 제어 옵션을 제공한다.

디버깅 중일때는 PSM Editor Toolbar영역의 Compile / Run / Debug Compile / Debug 버튼이 비활성화 되고, Terminate Debug / Step Into/ Step Over / Step Any Return 버튼이 활성화 된다.

Debug 제어 기능

디버깅 중에는 다음과 같은 제어 기능을 제공한다.

기능
설명

Terminate Debug

디버깅을 즉시 종료한다.

Resume

설정된 다음 브레이크 포인트로 진행한다.

Step Into

다음 라인으로 진행한다. 프로그램 호출문인 경우, 해당 서브프로그램 내부로 진입한다.

Step Over

다음 라인으로 진행한다.

Step Any Return

현재 entrypoint를 완료하는 시점까지 진행한다(Step Out).

Breakpoint List

현재 디버깅 중인 프로그램에 설정되어 있는 Breakpoint를 테이블 형태로 확인할 수 있다. 각 Column에 대한 셜명은 다음과 같다.

  • Object Type: Breakpoint가 지정된 Object의 Type (PROCEDURE / FUNCTION / PACKAGE BODY), Editor에 작성된 Breakpoint의 경우 빈 값이 표시된다.

  • Object Name: Breakpoint가 지정된 Object의 Name. Editor에 작성된 Breakpoint의 경우 Editor 이름이 표시된다.

  • Line: 해당 Breakpoint의 위치

  • Status: 해당 Breakpoint의 활성화 여부. (Usable | Disable)

  • Description: Breakpoint 설명. 테이블 셀 더블클릭을 통해 변경할 수 있다.

Debug Tab

Debug Tab. 좌측 Call Stack, 우측 Variable / Watch

Call Stack

디버깅 중에는 Call Stack을 통해 현재 실행 중인 Subprogram의 호출 스택을 확인할 수 있다. 호출된 subprogram들이 표시되며, 각 단계별 실행 위치를 추적할 수 있다.

Call Stack에서 특정 서브 프로그램을 선택하면 해당 프로그램의 현재 실행 위치로 이동할 수 있으며, 중첩된 호출 구조를 쉽게 파악할 수 있다. 또한 선택한 프로그램의 매개변수와 지역 변수의 값을 확인할 수 있어 디버깅을 효율적으로 수행할 수 있다.

Variable / Watch

디버깅 중 변수의 값을 실시간으로 모니터링하는 기능을 제공한다.

Variable

Variable 탭에서는 선택된 스코프의 모든 변수의 Name, Value, Type을 표시한다. 스크립트를 분석하여 해당 프로그램에 존재하는 변수들을 자동으로 등록한다. 추가로 변수를 등록하려면 Variable 탭 우측 하단의 [+ Add Variable] 버튼을 통해 변수를 등록할 수 있다. 또한 테이블의 Watch Column의 체크박스 및 Context 메뉴를 통해 특정 변수 또는 변수 전체의 Watch 상태를 변경할 수 있다.

Add Variable

Watch

Watch 탭에서는 Variable에서 등록한 Watch Variable의 리스트가 표시된다. 해당 탭에서는 Watch Variable로 등록된 변수의 Name, Value, Type, Previous Value를 표시한다. 테이블의 Watch Column의 체크박스 및 Context Menu를 통해 특정 변수 또는 변수 전체의 Watch 상태를 변경할 수 있다.

Debug > Watch 탭