From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32105 invoked by alias); 21 Feb 2012 18:18:01 -0000 Received: (qmail 32002 invoked by uid 22791); 21 Feb 2012 18:17:59 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 21 Feb 2012 18:17:45 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1LIHQZ3006354 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 21 Feb 2012 13:17:40 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q1LHQxvN017233; Tue, 21 Feb 2012 12:26:59 -0500 Message-ID: <4F43D3E3.8070307@redhat.com> Date: Tue, 21 Feb 2012 18:18:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20120131 Thunderbird/10.0 MIME-Version: 1.0 To: Yao Qi CC: Eli Zaretskii , gdb-patches@sourceware.org Subject: Re: [PATCH 4/9] agent doc References: <1329447300-18841-1-git-send-email-yao@codesourcery.com> <1329447300-18841-5-git-send-email-yao@codesourcery.com> <83booxwv0m.fsf@gnu.org> <4F3E5251.1030202@codesourcery.com> <83r4xsuxft.fsf@gnu.org> <4F41B2B1.2040303@codesourcery.com> In-Reply-To: <4F41B2B1.2040303@codesourcery.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-02/txt/msg00441.txt.bz2 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