Monday, March 12, 2007

peoplecode trace

Numeric Value
Constant Value
Description
0
%TracePC_None
Set trace off.
1
%TracePC_Functions
Provide a trace of the program as it is executed. This implies options 64+128+256 described in the following rows.
2
%TracePC_List
Provide a listing of the entire program.
4
%TracePC_Assigns
Show the results of all assignments made to variables.
8
%TracePC_Fetches
Show the values fetched for all variables.
16
%TracePC_Stack
Show the contents of the internal machine stack. This option is normally used for debugging the PeopleCode language and not PeopleCode programs.
64
%TracePC_Starts
Provide a trace showing when each program starts.
128
%TracePC_ExtFuncs
Provide a trace showing the calls made to each external PeopleCode routine.
256
%TracePC_IntFuncs
Provide a trace showing the calls made to each internal PeopleCode routine.
512
%TracePC_ParamsIn
Show the values of the parameters to a function.
1024
%TracePC_ParamsOut
Show the values of the parameters as they exist at the return from a function.
2048
%TracePC_EachStmt
Show each statement as it's executed (and don't show statements on branches not taken.)
32768
%TracePC_Evaluations
Start the timing tracing of the start and end of top-level program evaluations. This is similar to the Trace Start of Programs, but only traced when the call isn't directly from PeopleCode. It traces recursive evaluations, like what happens when a ScrollSelect in a RowInit event causes another recursive RowInit to fire during the outer RowInit. If both Trace Evaluations (32768) and Trace Start of Programs (64) are on (32768+64 = 32832) then all routine calls (functions, methods, get, set for both internal and external PeopleCode to PeopleCode calls) are traced. The resulting trace file can be processed by a program to add up the timings for each routine and separate the in-routine timings from those for called routines.

No comments: