General and DYNAMIC Trace System Options

  

Virtual Machine  

The general trace system is primarily for tracing the PROIV Virtual Machine. It is also used for the PROIV Bus Manager and the Pro4 API Interface (P4API). It also effects, to a limited extent, tracing in other programs, including BUILD and the PROISAM utility programs (ISIN, etc.).

These general trace options are designed  mainly for PROIV development internal use only, to debug problems with the product, and so can produce rather cryptic information. However, they can still be extremely useful to isolate issues in application code. They may also be useful in identifying what application feature might be uncovering a product problem, and so how the application might be able to work around the issues until a future release fixes it.

Trace messages are appended to the trace files, which can get very large. Make sure you delete them periodically or you could
rapidly run out of disk space.

Each trace-enable option enables tracing for a particular functional area. The value specifies how much information to trace for that area: Level 0 = critical errors only through Level 9 = everything useful. (Values from 10 through to 15 do exist and display extremely detailed information. Typically, only the PROIV development group uses these levels for detailed analysis of a particular fault. The example values specified below indicate useful starting settings for a particular area.

In addition to general trace options, you can also use dynamic tracing feature to examine the behavior of a specific area of your PROIV application. You can set dynamic tracing ON/OFF at session level. If you set tracing at session level, the trace file generates the log for all the activities performed in the current session. However, if you set the tracing using environment variables in Virtual Machine Diagnostics section, the trace file generates the log for all the sessions.

TRACEFILE levels 

Tracefile is used to trace the file system access interface. For SQL files, see trace setting SQL for more information.

2

sysfopnfile open failures

4

displays successful file open (sysfopn)

5

all file closes (sysfcls)

8

record read (sysfrd) - display the first 32 bytes of every record read.

9

will display the contents of the entire record.

The following options are used to track down problems in PROIV itself, and are not generally useful for end users.

-      Trace function reGEN: set trace setting Gen=8

-        Trace input field set structures: set trace setting mfin=4

-      Global enable for all TRACExxxx options: set trace setting ALL=9

Setting FILE=8 can be useful in tracking down file access problems (it will show which files are being accessed and what key values are being used). In particular, lines starting with:

-  "sysfopn"/"sysfcls" = file open/close;

-  "sysfrd"/"sysfwrt"/"sysfdel" = read/write/delete record;

-  "sysfacc"/"sysftest" = filename accessibility check.

Setting GUI=9 can be useful in seeing where your application is executing. In addition to a lot of detailed and difficult to interpret GUI info, it shows:

-  current function name (look for lines starting “guiHint: 1d=FUNCT_NAME);

-  current LS (“guiHint: 1b=LS_START" and “guiHint: 1c=LS_END");

-  current field number ("guiFldVisit:");

-  messages (“guiHint: 03=UMSG? = logic UMSG and status messages (such as report/regen in progress ..); “..04=MSG" = logic MSG and PROIV system error messages; “..05=HMSG" = help messages);

-  wait for terminal input (“guiHint: 10=INPUT")

Comment on this topic

Topic ID: 750024