From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9722 invoked by alias); 16 Jun 2007 01:59:12 -0000 Received: (qmail 9715 invoked by uid 22791); 16 Jun 2007 01:59:11 -0000 X-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,FORGED_RCVD_HELO,HK_OBFDOM,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 16 Jun 2007 01:59:07 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.1/8.13.1) with ESMTP id l5G1x5ES018229 for ; Fri, 15 Jun 2007 21:59:05 -0400 Received: from lacrosse.corp.redhat.com (lacrosse.corp.redhat.com [172.16.52.154]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id l5G1x5iL017995 for ; Fri, 15 Jun 2007 21:59:05 -0400 Received: from newbox.mollernet.net (vpn-14-23.rdu.redhat.com [10.11.14.23]) by lacrosse.corp.redhat.com (8.12.11.20060308/8.11.6) with ESMTP id l5G1x4Jt028907 for ; Fri, 15 Jun 2007 21:59:05 -0400 Message-ID: <467343DF.5070802@redhat.com> Date: Mon, 18 Jun 2007 11:04:00 -0000 From: Chris Moller User-Agent: Thunderbird 2.0.0.0 (X11/20070326) MIME-Version: 1.0 To: frysk Subject: utrace-based debugger demo code X-Enigmail-Version: 0.95.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig0E732CB20C88A579DE9B3C7F" X-Virus-Checked: Checked by ClamAV on sourceware.org X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2007-q2/txt/msg00304.txt.bz2 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig0E732CB20C88A579DE9B3C7F Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 955 For the last couple of weeks, I've been hacking together a loadable kernel module that provides userspace access to the capabilities of utrace. It's still very much a bare-bones, proof-of-concept, thing, but it lets you attach multiple running processes, run them, halt them, read their registers, and detach them. In process are means of asynchronously notifying userspace debuggers of utrace report_* events like process clones, vforks, execs, etc., and anything else it seems reasonable to do. I've also written a kind of boilerplate low-level debugger, mostly to exercise the module and provide examples of how to talk to it. Both the module ("utracer") and the fake debugger ("udb") are available at cvs -d :ext:sourceware.org:/cvs/frysk co frysk-utrace. It builds, although you have to have available the kernel headers that correspond to your kernel, and you have to have root access to make it run. No documentation yet, of course. Chris --------------enig0E732CB20C88A579DE9B3C7F Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-length: 252 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGc0PompMCeQnqFMkRAgb7AJ9v8I5QnoKPBOkoCEvLCsPcELxWUQCgj9WO eeJ7cMZXvlC6FFaIFbBO5Cw= =VrWr -----END PGP SIGNATURE----- --------------enig0E732CB20C88A579DE9B3C7F--