ID ELAPSED_SEC DELTA_MSEC APPL SYSCALL KERNEL INTERRUPT 456 100.472410880 606.073856 CA_LIB: [46988] CS_1 ENTRY CA_Get_Element_Count ext_voice_sp 0x... 456 100.472451584 0.040704 CA_LIB: [46988] CS_1 PARMS CA_Get_Element_Count data 0x20008858 CA_LIB: [46988] CS_1 PARMS CA_Get_Element_Count length 6560 CA_LIB: [46988] CS_1 PARMS CA_Get_Element_Count sampling_rate 8000 ... CA_LIB: [46988] CS_1 PARMS CA_Get_Element_Count FORMAT_ULAW ORDE... 456 100.472532992 0.081408 CA_LIB: [46988] CS_1 RETURN CA_Get_Element_Count RC 5 CA_NO_ERROR... 456 100.472701440 0.168448 CA_LIB: [46988] CS_1 ENTRY CA_Import_Voice int_sp 0x2FF222A... 456 100.472739584 0.038144 CA_LIB: [46988] CS_1 PARMS CA_Import_Voice int_sp data 0x2... CA_LIB: [46988] CS_1 PARMS CA_Import_Voice total_elements 5 CA_LIB: [46988] CS_1 PARMS CA_Import_Voice UNCOMPRESSED_VOI... CA_LIB: [46988] CS_1 PARMS CA_Import_Voice ext_sp data 0x2... CA_LIB: [46988] CS_1 PARMS CA_Import_Voice length 6560 CA_LIB: [46988] CS_1 PARMS CA_Import_Voice sampling_rate 8000 ... CA_LIB: [46988] CS_1 PARMS CA_Import_Voice FORMAT_ULAW ORDE... 456 100.504947584 0.030208 CA_LIB: [46988] CS_1 RETURN CA_Import_Voice RC 5 CA_NO_ERRO...
The trace in Figure 1 was formatted using the Blueworx Voice Response print_trace command. The basic format of the trace is the same as a trace formatted using the AIX trcrpt command.
Scalar parameters include integer, and short parameters, plus the addresses of any structures passed to the custom server library. These are traced first so that if for example an invalid pointer is passed to the custom server library, the trace will contain the pointer in error before it is dereferenced and causes a core dump.
In the example you can see the address of the EXT_VOICE_ST which is being passed to CA_Get_Element_Count(), and later the addresses of the INT_VOICE_ST and EXT_VOICE_ST which are being passed to CA_Import_Voice(). You can already see that the same EXT_VOICE_ST is being passed to both CA_Get_Element_Count() and CA_Import_Voice(). If the addresses were different this might indicate that the custom server was passing the wrong parameter to one of the subroutines.
The PARMS section includes the values of non-scalar input parameters on entry to the custom server library. Structures are decoded member by member.
If more than one line is required to decode the parameters for a custom server library call, second and subsequent lines omit the trace event ID, elapsed seconds, and delta milliseconds fields. The string CA_LIB: which identifies this as part of a custom server library trace, the process id, the string PARMS and the custom server library function name are still present.