This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/9] agent doc


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]