GDB/GDBserver could be able to talk with different agents, if they follow the same protocol. However, different agents may have different capabilities, say, one agent can install fast tracepoint, while the other agent can't. Agent capability is to present what agent can do. In agent side, we use an interger bit map, and each bit represents a corresponding capability. This piece of work is different from this, which is about target capability, http://sourceware.org/gdb/current/onlinedocs/gdb/Varying-Target-Capabilities.html -- Yao (齐尧)