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를 추적하세요.
  • =>오류를 재현하면 추적 파일에는 이 오류를 디버깅 할 수 있는 충분한 정보가 쌓인다.