From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26042 invoked by alias); 2 Sep 2010 12:52:11 -0000 Received: (qmail 26029 invoked by uid 22791); 2 Sep 2010 12:52:09 -0000 X-SWARE-Spam-Status: No, hits=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.windriver.com (HELO mail.windriver.com) (147.11.1.11) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 02 Sep 2010 12:52:04 +0000 Received: from ALA-MAIL03.corp.ad.wrs.com (ala-mail03 [147.11.57.144]) by mail.windriver.com (8.14.3/8.14.3) with ESMTP id o82Cq2Og002006; Thu, 2 Sep 2010 05:52:02 -0700 (PDT) Received: from ala-mail09.corp.ad.wrs.com ([147.11.57.154]) by ALA-MAIL03.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 2 Sep 2010 05:52:02 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable x-cr-hashedpuzzle: AkxR BGhX CfFO C8d7 DmB9 Ev7J FC+A HTf/ I9RW JN4y KDrW OgF5 RuTF SkIN TBk1 UFEL;2;ZwBkAGIAQABzAG8AdQByAGMAZQB3AGEAcgBlAC4AbwByAGcAOwBwAGEAYQB3AGEAbgAxADkAOAAyAEAAeQBhAGgAbwBvAC4AYwBvAG0A;Sosha1_v1;7;{EDEAE765-228B-4B78-BDD2-A9D657ECF337};agBhAGsAbwBiAC4AZQBuAGcAYgBsAG8AbQBAAHcAaQBuAGQAcgBpAHYAZQByAC4AYwBvAG0A;Thu, 02 Sep 2010 12:44:32 GMT;UgBFADoAIAByAGUAdgBlAHIAcwBlACAAZABlAGIAdQBnAGcAaQBuAGcAIABpAG0AcABsAGUAbQBlAG4AdABhAHQAaQBvAG4A x-cr-puzzleid: {EDEAE765-228B-4B78-BDD2-A9D657ECF337} Content-class: urn:content-classes:message Subject: RE: reverse debugging implementation Date: Thu, 02 Sep 2010 12:52:00 -0000 Message-ID: In-Reply-To: <290584.46112.qm@web112507.mail.gq1.yahoo.com> References: <4C712882.9040700@fano.co.uk> <312153.55254.qm@web112503.mail.gq1.yahoo.com> <4C7566D3.70109@fano.co.uk> <290584.46112.qm@web112507.mail.gq1.yahoo.com> From: "Engblom, Jakob" To: "paawan oza" , Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-09/txt/msg00003.txt.bz2 > I am not sure whether that implementation will improve performance > drastically > compare to existing gdb reversible debuggin implementation. > as > does it involve >=20 > -> stopping at every insn and find out whether insn is changing > register or > memory, and if register then record it (probably not every insn but > depends on > interval and no of memory changing insns) Neither. We only reexecute all the instructions, period. No saving of state other than at the regular checkpoints (snapshots). > -> when you want to go back, you go back n-1 and forward execution till > current-1, that probably involves single steeping which has performance > impact. Not really, we run the target system in JIT mode typically, only stepping the last few instructions if that is in the middle of a translation unit. Note that his is using a complete target system simulator, not at all relying on the host. Simics can stop at a precise point in virtual time, that is key to this exercise. > of course the record for memory is saved as we do not need to save > architectural > state at every insn, but performance !! Note that we also include networks, disks, and the rest of the virtual world in this approach.=20=20 VMWare is doing something similar with their record/replay, but in a different way with different performance/portability/generality tradeoffs. In any case, comparing performance with the gdb record-replay system is not very useful as we atually do something different. First of all, this is system-level, so you can work with boot loaders, operating systems, and multithreaded and multicore target. See http://blogs.windriver.com/engblom/2010/04/what_is_simics_really.html for more on Simics if you are interested. But I am not here to sonud like an advertisement, I just wanted to point out that checkpoint/snapshot + deterministic reexecution is a viable way to do reverse execution.=20 /jakob