CREATE PROCEDURE P(P_OWNER IN VARCHAR2, P_OBJECT_NAME IN VARCHAR2)
AS
l_status number :=0;
begin
debug.f('Entering rocedure, inputs "%s", "%s",p_owner, p_object_name)
...일부코드 ..
debug.f('Normal exit, status = %d', l_status);
end;
- 코드는 (debug.init의 호출을 통해 이 모듈의 디버그 추적 파일을 생성하도록 디버그 패키지에 요청한경우) 운영체제에 다음과 같은 추적 파일 메시지를 생성할 것이다.
120620002 213953(P.PROCEDURE 5) Enter procedure inputs "A", "B"
120620002 213955(P.PROCEDURE 56) Normal exit, status = 0
이 메시지에는 세가지 정보가 나타난다.
- 1. 프로시져가 P가 호출된 시점(120620002는 MMDDYYYY 포맷의 날짜이고, 213953은 HH24MISS포맷시간이다.)
- 2. 메시지를 인쇄한 경우 전송된 입력(기타 모든 DEBUG.F 호출은 이 추적 파일에 자신들의 출력을 남긴다.)
- 3. 이 루틴은 2초 후에 상태 정보 0을 남기고 정상적으로 종료되었다.
개발코드 실행중 오류가 발생하면
- sqlplus창에서 그 사용자만을 위해 DEBUG.INIT를 호출하여 프로시저 P를 추적하세요.
- =>오류를 재현하면 추적 파일에는 이 오류를 디버깅 할 수 있는 충분한 정보가 쌓인다.