Oracle® OLAP DML Reference 10g Release 2 (10.2) Part Number B14346-03 |
|
|
PDF · Mobi · ePub |
The DBGOUTFILE command (abbreviated DOTF) sends debugging information to a file. When you set PRGTRACE and MODTRACE to YES
, the file produced by DBGOUTFILE interweaves each line of your program, model, or infile with its corresponding output. When you set ECHOPROMPT to YES
, the debugging file also includes error messages.
DBGOUTFILE {EOF | TRACEFILE | [APPEND] file-name [NOCACHE]}
Closes the current debugging file, and debugging output is no longer sent to a file.
Specifies that the debugging output should be directed to the Oracle trace file, which is identified by the TRACEFILEUNIT option.
Specifies that the output should be added to the end of an existing file. When you omit this argument and a file exists with the specified name, the new output replaces the current contents of the file.
A text expression that is the name of the file to which debugging output should be written. Unless the file is in the current directory, you must include the name of the directory object in the name of the file.
Note:
Directory objects are defined in the database, and they control access to directories and file in those directories. You can use a CDA statement to identify and specify a current directory object. Contact your Oracle DBA for access rights to a directory object where your database user name can read and write files.Specifies that Oracle OLAP should write to the debugging file each time a line is executed. Without this keyword, Oracle OLAP reduces file I/O activity by saving text and writing it periodically to the file.
The NOCACHE keyword slows performance significantly, but it ensures that the debugging file records every line as soon as it is executed. When you are debugging a program that aborts after a certain line, NOCACHE ensures that you see every line that was executed.
Example 11-40 Debugging with a Debugging File
The following statements create a useful debugging file called debug.txt
in the current directory object.
PRGTRACE = yes ECHOPROMPT = yes DBGOUTFILE 'debug.txt'
After executing these statements, you can run your program as usual. To close the debugging file, execute this statement.
DBGOUTFILE EOF
In the following sample program, the first LIMIT command has a syntax error.
DEFINE ERROR_TRAP PROGRAM PROGRAM TRAP ON traplabel LIMIT month TO FIRST badarg LIMIT product TO FIRST 3 LIMIT district TO FIRST 3 REPORT sales traplabel: SIGNAL ERRORNAME ERRORTEXT END
With PRGTRACE
and ECHOPROMPT
both set to YES
and with DBGOUTFILE
set to send debugging output to a file called debug.txt
, the following text is sent to the debug.txt
file when you execute the error_trap
program.
(PRG= ERROR_TRAP) (PRG= ERROR_TRAP) TRAP ON traplabel (PRG= ERROR_TRAP) (PRG: ERROR_TRAP) LIMIT month TO FIRST badarg ERROR: BADARG does not exist in any attached database. (PRG= ERROR_TRAP) traplabel: (PRG= ERROR_TRAP) SIGNAL ERRORNAME ERRORTEXT ERROR: BADARG does not exist in any attached database.
Example 11-41 Sending Debugging Information to a File
The following is the text of a program whose first LIMIT command has a syntax error.
DEFINE error_trap PROGRAM PROGRAM TRAP ON traplabel LIMIT month TO FIRST BADARG LIMIT product TO FIRST 3 LIMIT district TO FIRST 3 REPORT sales traplabel: SIGNAL ERRORNAME ERRORTEXT END
The following statement sends debugging information to a file named debug.txt
.
DBGOUTFILE 'debug.txt'
With PRGTRACE and ECHOPROMPT both set to YES
, Oracle OLAP sends the following text to the debug.txt
file when you execute the ERROR_TRAP program. The last line in the file is the command to stop recording the debugging information.
error_trap (PRG= ERROR_TRAP) (PRG= ERROR_TRAP) trap on traplabel (PRG= ERROR_TRAP) (PRG: ERROR_TRAP) limit month to first badarg ERROR: BADARG does not exist in any attached workspace. (PRG= ERROR_TRAP) traplabel: (PRG= ERROR_TRAP) signal errorname errortext ERROR: BADARG does not exist in any attached workspace. dbgoutfile eof