From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuL8Z-0003OL-A5 for qemu-devel@nongnu.org; Mon, 18 May 2015 09:31:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YuL8V-0001oG-E7 for qemu-devel@nongnu.org; Mon, 18 May 2015 09:31:19 -0400 Received: from mail-wi0-x231.google.com ([2a00:1450:400c:c05::231]:37193) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuL8V-0001o8-6L for qemu-devel@nongnu.org; Mon, 18 May 2015 09:31:15 -0400 Received: by wibt6 with SMTP id t6so69846462wib.0 for ; Mon, 18 May 2015 06:31:14 -0700 (PDT) Date: Mon, 18 May 2015 14:31:10 +0100 From: Stefan Hajnoczi Message-ID: <20150518133110.GI24319@stefanha-thinkpad.redhat.com> References: <1431621835-7565-1-git-send-email-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sl5MdczEF/OU2Miu" Content-Disposition: inline In-Reply-To: <1431621835-7565-1-git-send-email-peter.maydell@linaro.org> Subject: Re: [Qemu-devel] [PATCH 0/3] scripts/qemu-gdb: Add event tracing support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: qemu-devel@nongnu.org, Stefan Hajnoczi , patches@linaro.org --sl5MdczEF/OU2Miu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 14, 2015 at 05:43:52PM +0100, Peter Maydell wrote: > This patchset adds support for two new commands to our > gdb scripts, which allow dynamically enabling and disabling > tracing of events, like this: >=20 > (gdb) source scripts/qemu-gdb.py=20 > (gdb) qemu trace-enable translate_block > Enabled trace event translate_block > Breakpoint 1 at 0xb634f: file ../trace/generated-tracers.h, line 4734. > (gdb) run > [...] > translate_block: tb:0x7fffc69ce010, pc:0x40000000, tb_code:0x7fffd39ce000 > translate_block: tb:0x7fffc69ce078, pc:0x40010000, tb_code:0x7fffd39ce140 > translate_block: tb:0x7fffc69ce0e0, pc:0x40010034, tb_code:0x7fffd39ce180 > translate_block: tb:0x7fffc69ce148, pc:0x40013700, tb_code:0x7fffd39ce1d0 > translate_block: tb:0x7fffc69ce1b0, pc:0x40013710, tb_code:0x7fffd39ce270 > translate_block: tb:0x7fffc69ce218, pc:0x4001003c, tb_code:0x7fffd39ce310 > [etc] >=20 > This works by setting custom breakpoints on the stub functions > trace_ that the null tracing backend creates. It > probably doesn't work with an optimised build, but on the other > hand because it's purely implemented within gdb you can use a > tool like 'rr' (http://rr-project.org/) to record a run with no > tracing enabled and then turn the tracing on and off as you desire > during the replay. >=20 > Patches one and two do some initial splitting of qemu-gdb.py into > separate modules just to keep it from growing unhelpfully large. >=20 > -- PMM >=20 >=20 > Peter Maydell (3): > scripts/qemu-gdb: Split MtreeCommand into its own module > scripts/qemu-gdb: Split CoroutineCommand into its own file > scripts/qemu-gdb: Add support for printing trace events >=20 > scripts/qemu-gdb.py | 144 +++------------------------------ > scripts/qemugdb/__init__.py | 28 +++++++ > scripts/qemugdb/coroutine.py | 91 +++++++++++++++++++++ > scripts/qemugdb/mtree.py | 82 +++++++++++++++++++ > scripts/qemugdb/trace.py | 188 +++++++++++++++++++++++++++++++++++++= ++++++ > 5 files changed, 398 insertions(+), 135 deletions(-) > create mode 100644 scripts/qemugdb/__init__.py > create mode 100644 scripts/qemugdb/coroutine.py > create mode 100644 scripts/qemugdb/mtree.py > create mode 100644 scripts/qemugdb/trace.py Happy with this series although I'm not sure if it's needed since GDB has static probes support for our SystemTap/DTrace tracepoints. Reviewed-by: Stefan Hajnoczi --sl5MdczEF/OU2Miu Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVWemeAAoJEJykq7OBq3PI6QwH/2+hWsKXlTrVEsZrB4CFnVRi 4W0c/7hj4Uwfyn/rHH7iePFJAuVr1U60mESo3d1K8NmVwLlubDt1D68A4tkZlHZz Q+cONy31vPfCIKk6C9EY4FcQRuiw2ss0IrbNrCnlh+Ae/CmhDIFErh5yswq7bR3D oEgcvPp3pJsRp7A6sMQMDHdPI+pSzcZ3xUIgB1fr9URVO6Ai/iI4dvY49RrB7Ve3 M4pjSCAvn5fiSTv8uYxZUZZyZravsd+l/BufkGeeYgWivKEK5vW/50O4xCzXKlMd gwIFuSbKEgzbxZiy3D9JABMeSZ0Kodv01KvHJkpDlD/xLaeAH2aI9f52ZOAfNsU= =39XC -----END PGP SIGNATURE----- --sl5MdczEF/OU2Miu--