On 02/22/2012 01:26 AM, Pedro Alves wrote: > On 02/20/2012 02:40 AM, Yao Qi wrote: > >> -When GDB is debugging a remote target, the GDB @dfn{agent} code running >> +Although called @dfn{agent expression}, because they originally >> +referred to the in-process agent (@pxref{In-Process Agent}), these > > That's incorrect. Agent expressions existed long before the in-process > agent was invented. See the confusion about calling the new IPA thing > just "agent"? > I didn't realize "agent" was introduced back in 1999, long before IPA was created. > From agentexpr.texi: > > When GDB is debugging a remote target, the GDB @dfn{agent} code running > on the target computes the values of the expressions itself. To avoid > having a full symbolic expression evaluator on the agent, GDB translates > expressions in the source language into a simpler bytecode language, and > then sends the bytecode to the agent; the agent then executes the > bytecode, and records the values for GDB to retrieve later. > (...) The interpreter is > small, and strict limits on the memory and time required to evaluate an > expression are easy to determine, making it suitable for use by the > debugging agent in real-time applications. > > So nothing mentioned here about in-process or not. This applies all the > same to the agent expression mechinary in GDBserver (tracepoints, etc.). > That's an agent as well. "agent" is a very loose term for roughly something > that runs on the remote target on GDB's behalf. Can we just drop that > explanation? If we name things clearly then that's unnecessary. > I am inclined to leave this explanation there, as it is still useful to generic term "agent". > So I'd suggest also: > > On 02/20/2012 02:40 AM, Yao Qi wrote: >> +reduce the number of operations performed by debugger. @dfn{Agent}, > > the in-process agent > s/agent/in-process agent/ in my patch. -- Yao (齐尧)