Re: [PATCH 4/9] agent doc

Pedro Alves
2012-02-21T18:18:01Z

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"?

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.

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

> +a shared library, is running within the same process with inferior, and is
> +able to perform some debugging operations itself. As a result, debugger
> +is only involved when necessary, and performance of debugging can be
> +improved accordingly. Note that interference with program can be
> +reduced but can't be removed completely, because the agent will still stop
> +or slow down the program.
> +
> +The agent can interpret and execute Agent Expressions

the in-process agent

> +@anchor{Control Agent}

And review things under this item even.

--
Pedro Alves