From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28937 invoked by alias); 24 Apr 2012 14:20:10 -0000 Received: (qmail 28907 invoked by uid 22791); 24 Apr 2012 14:20:07 -0000 X-SWARE-Spam-Status: No, hits=-4.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 24 Apr 2012 14:19:54 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1SMgaw-0000ut-7T from Luis_Gustavo@mentor.com ; Tue, 24 Apr 2012 07:19:54 -0700 Received: from NA1-MAIL.mgc.mentorg.com ([147.34.98.181]) by svr-orw-fem-01.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 24 Apr 2012 07:19:53 -0700 Received: from [0.0.0.0] ([172.16.63.104]) by NA1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 24 Apr 2012 07:19:53 -0700 Message-ID: <4F96B68C.3050703@mentor.com> Date: Tue, 24 Apr 2012 14:20:00 -0000 From: Luis Gustavo Reply-To: "Gustavo, Luis" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.27) Gecko/20120216 Lightning/1.0b2 Thunderbird/3.1.19 MIME-Version: 1.0 To: Xin Tong CC: gdb@sourceware.org Subject: Re: Hardware watchpoint for read References: <4F96A614.3040303@mentor.com> <4F96A812.4000008@mentor.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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: 2012-04/txt/msg00197.txt.bz2 On 04/24/2012 11:17 AM, Xin Tong wrote: > On Tue, Apr 24, 2012 at 9:18 AM, Luis Gustavo wrote: >> On 04/24/2012 10:15 AM, Xin Tong wrote: >>> >>> On Tue, Apr 24, 2012 at 9:09 AM, Luis Gustavo >>> wrote: >>>> >>>> Hi, >>>> >>>> >>>> On 04/24/2012 10:02 AM, Xin Tong wrote: >>>>> >>>>> >>>>> Hello >>>>> >>>>> I am wondering that can gdb insert hardware watch point for read to >>>>> the watched memory ? can other debugger do that ? is it supported in >>>>> hardware watchpoint ? >>>>> >>>>> Thanks >>>>> >>>>> Xin >>>>> >>>> >>>> Read watchpoints are hard to implement as soft-watchpoints, so they're >>>> usually implemented as hardware watchpoints. >>> >>> >>> software write watchpoint is easier to implement ? do not software >>> watchpoint need to watch all memory accesses (read and write) to a >>> memory location in software ? >> >> >> Writes are "easier" to implemenet due to the fact that they usually change >> memory contents. Reads don't. > > Either way, do not gdb need to instrument every memory accesses if a > software watch point is used ? It does things lazily. It single-steps instruction-by-instruction and checks for change of contents. >> >> >>> >>>> >>>> If a debugger knows how to properly set the bits in the hardware, either >>>> through ptrace or other means, it can configure a read/write/read-write >>>> watchpoint. Depends on hardware support really. >>> >>> >>> do you know whether this is supported on the x86 chips ? is thee a way >>> to try this out in gdb ? >> >> >> All those modes should be supported in x86. Try "watch", "rwatch" and >> "awatch". > > how are hardware watch, rwatch and awatch implemented in gdb. make > call to ptrace apis and ptrace apis program some x86 registers > through a driver interfaces ? > ptrace calls really. GDB's x86 backend knows how to set those bits. >> >>> >>>> >>>> Regards, >>>> Luis >> >>