Next: , Up: In-Process Agent Protocol   [Contents][Index]

31.1.1 IPA Protocol Objects

The commands sent to and results received from agent may contain some complex data types called objects.

The in-process agent is running on the same machine with GDB or GDBserver, so it doesn’t have to handle as much differences between two ends as remote protocol (see Remote Protocol) tries to handle. However, there are still some differences of two ends in two processes:

  1. word size. On some 64-bit machines, GDB or GDBserver can be compiled as a 64-bit executable, while in-process agent is a 32-bit one.
  2. ABI. Some machines may have multiple types of ABI, GDB or GDBserver is compiled with one, and in-process agent is compiled with the other one.

Here are the IPA Protocol Objects:

  1. agent expression object. It represents an agent expression (see Agent Expressions).
  2. tracepoint action object. It represents a tracepoint action (see Tracepoint Action Lists) to collect registers, memory, static trace data and to evaluate expression.
  3. tracepoint object. It represents a tracepoint (see Tracepoints).

The following table describes important attributes of each IPA protocol object:

agent expression object
length4length of bytes code
byte codelengthcontents of byte code
tracepoint action for collecting memory
’M’1type of tracepoint action
addr8if basereg is ‘-1’, addr is the address of the lowest byte to collect, otherwise addr is the offset of basereg for memory collecting.
len8length of memory for collecting
basereg4the register number containing the starting memory address for collecting.
tracepoint action for collecting registers
’R’1type of tracepoint action
tracepoint action for collecting static trace data
’L’1type of tracepoint action
tracepoint action for expression evaluation
’X’1type of tracepoint action
agent expressionlength ofagent expression object
tracepoint object
number4number of tracepoint
address8address of tracepoint inserted on
type4type of tracepoint
enabled1enable or disable of tracepoint
numactions4number of tracepoint actions
hit count8hit count
trace frame usage8trace frame usage
compiled_cond8compiled condition
orig_size8orig size
condition4 if condition is NULL otherwise length of agent expression objectzero if condition is NULL, otherwise is agent expression object
actionsvariablenumactions number of tracepoint action object

Next: , Up: In-Process Agent Protocol   [Contents][Index]