From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27346 invoked by alias); 16 Sep 2005 18:03:27 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 27118 invoked by uid 22791); 16 Sep 2005 18:02:52 -0000 Received: from mail-out3.apple.com (HELO mail-out3.apple.com) (17.254.13.22) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 16 Sep 2005 18:02:52 +0000 Received: from relay6.apple.com (a17-128-113-36.apple.com [17.128.113.36]) by mail-out3.apple.com (8.12.11/8.12.11) with ESMTP id j8GI2nGn010137; Fri, 16 Sep 2005 11:02:49 -0700 (PDT) Received: from [17.219.197.92] (unknown [17.219.197.92]) by relay6.apple.com (Apple SCV relay) with ESMTP id ED57B278; Fri, 16 Sep 2005 11:02:48 -0700 (PDT) Message-ID: <432B08CA.8070902@apple.com> Date: Fri, 16 Sep 2005 18:03:00 -0000 From: Stan Shebs User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.3) Gecko/20040910 MIME-Version: 1.0 To: Eli Zaretskii Cc: gdb@sources.redhat.com Subject: Re: Using reverse execution References: <432628AA.2040808@apple.com> <43277083.1040708@apple.com> <4328A574.5080906@apple.com> <43290862.9040204@apple.com> <4329D5A3.8030202@apple.com> <432ACFFB.9040204@apple.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-09/txt/msg00120.txt.bz2 Eli Zaretskii wrote: >>Date: Fri, 16 Sep 2005 07:00:27 -0700 >>From: Stan Shebs >>Cc: gdb@sources.redhat.com >> >>it's clear that a full-blown handles-every-situation implementation >>will require a huge amount of kernel hacking in addition to the GDB >>part. I don't want to get into a situation like that of tracepoints, >>where the feature ultimately falls by the wayside because it's too >>narrow in applicability and implementation. >> > >What features can be implemented without hacking the kernel? > If you limited reversing to designated regions, and single-stepped every instruction in the range, collected the exact data changes (by disassembling the instructions) and only allowed examination rather than re-executing from any given point, all that just needs existing GDB machinery. Is it useful? At least somebody thinks so, because I just described how the omniscient debugger works (using Java bytecodes instead of machine instructions). Stan