Interpreting the table
QNX SDP8.0System Analysis Toolkit (SAT) User's GuideUser
As you examine the table, note the following:
- Some of the functions listed below (e.g., InterruptDetachFunc(), SignalFault()) are internal ones that you won't find documented in the QNX OS C Library Reference.
- If a function has a restartable version (with a _r in its name), the events for both versions are as listed for the function without the _r.
- If a kernel call fails, the exit trace event includes the return code and the error code (e.g., an errno value), instead of the data listed below.
As an example, let's look at the events for MsgSend(), MsgSendv(), and MsgSendvs(). As mentioned above, the information is the same for the restartable versions of these functions too.
Here's what the table gives for the entry (_NTO_TRACE_KERCALLENTER) to these functions:
Class: _NTO_TRACE_KERCALLENTER
Event: __KER_MSG_SENDV
Fast: coid, msg
Wide: coid, sparts, rparts, msg[0], msg[1], msg[2]
Call: MsgSend,MsgSendv,MsgSendvs
#Args: MSG_SENDV, fHcoid, Dsparts, Drparts, fSmsg, s, s
This part describes the __KER_MSG_SENDV trace event that's emitted on entry to the function.
In fast mode, the event includes the following data:
Fast mode data | Number of bytes for the event |
---|---|
Connection ID | 4 bytes |
Message data | 4 bytes (the first 4 bytes usually comprise the header) |
Total emitted: 8 bytes |
In wide mode, the event includes the following data:
Wide mode data | Number of bytes for the event |
---|---|
Connection ID | 4 bytes |
# of parts to send | 4 bytes |
# of parts to receive | 4 bytes |
Message data | 4 bytes (the first 4 bytes usually comprise the header) |
Message data | 4 bytes |
Message data | 4 bytes |
Total emitted: 24 bytes |
The second (_NTO_TRACE_KERCALLEXIT) part describes the
__KER_MSG_SENDV event that's emitted on exit from the function:
Class: _NTO_TRACE_KERCALLEXIT
Event: __KER_MSG_SENDV
Fast: status, rmsg[0]
Wide: status, rmsg[0], rmsg[1], rmsg[2]
Call: MsgSend,MsgSendv,MsgSendvs
#Args: MSG_SENDV, fDstatus, fSrmsg, s, s
In fast mode, the event includes the following data if the kernel call was successful:
Fast mode data | Number of bytes for the event |
---|---|
Exit status | 4 bytes |
Message data | 4 bytes (the first 4 bytes usually comprise the header) |
Total emitted: 8 bytes |
In wide mode, the event includes the following data if the kernel call was successful:
Wide mode data | Number of bytes for the event |
---|---|
Exit status | 4 bytes |
Message data | 4 bytes (the first 4 bytes usually comprise the header) |
Message data | 4 bytes |
Message data | 4 bytes |
Total emitted: 16 bytes |
In both fast and wide mode, the event includes the following data if the kernel call failed:
Fast and wide mode data | Number of bytes for the event |
---|---|
Exit status | 4 bytes |
Error code | 4 bytes |
Total emitted: 8 bytes |
For many of the events, you'll see a comment like this:
#Args: MSG_SENDV, fHcoid, Dsparts, Drparts, fSmsg, s, s
This line indicates how
traceprinter displays the data associated with the event.
The format codes are as follows:
Code | Format |
---|---|
H |
Hexadecimal (32 bit) |
D |
Decimal (32 bit) |
X |
Hexadecimal (64 bit) |
E |
Decimal (64 bit) |
S |
Begin a character string |
s |
Continue with a character string |
P |
Pointer |
N |
Named string |
f |
Fast mode prefix |
For example, fHcoid
indicates that the connection ID
(coid
) is displayed as a 32-bit hexadecimal number, and it's
included in fast mode (and wide mode).
Page updated: