From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ghvli-0000Fs-1t for qemu-devel@nongnu.org; Wed, 08 Nov 2006 17:19:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ghvlf-0000EX-Tn for qemu-devel@nongnu.org; Wed, 08 Nov 2006 17:19:37 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ghvlf-0000EP-NU for qemu-devel@nongnu.org; Wed, 08 Nov 2006 17:19:35 -0500 Received: from [84.96.92.56] (helo=smTp.neuf.fr) by monty-python.gnu.org with esmtp (Exim 4.52) id 1Ghvlf-0004Mo-Lj for qemu-devel@nongnu.org; Wed, 08 Nov 2006 17:19:35 -0500 Received: from [84.99.204.151] by sp604003mt.gpm.neuf.ld (Sun Java System Messaging Server 6.2-5.05 (built Feb 16 2006)) with ESMTP id <0J8F00DD3N3GI730@sp604003mt.gpm.neuf.ld> for qemu-devel@nongnu.org; Wed, 08 Nov 2006 23:14:04 +0100 (CET) Date: Wed, 08 Nov 2006 23:15:14 +0100 From: Fabrice Bellard Subject: Re: [Qemu-devel] Re: Debugging with paging enabled In-reply-to: <6310169804.20061108221303@kilgus.net> Message-id: <455256F2.6090006@bellard.org> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7BIT References: <1583108256.20061108033019@kilgus.net> <6310169804.20061108221303@kilgus.net> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Marcel Kilgus wrote: > /me wrote: > >>Having to always set them both in the high and low area is a bit >>cumbersome to say the least. Any suggestion on what I'm missing or can >>do to get breakpoints working properly again? > > > Okay, the QEMU source code was a lot more readable than I expected it > to be, so I had a look myself. For the record, my solution to my > problem is thus: > > /tmptmp/qemu-0.8.2/target-i386 $ diff translate.bak translate.c > 6425c6425 > < if (env->breakpoints[j] == pc_ptr) { > --- > >> if (env->breakpoints[j] == pc_ptr - dc->cs_base) { > > > Now everything works as expected. Don't know if this breaks any other > scenarios, though. Hi, The breakpoints are set for a given virtual address. So IMHO testing only the EIP value instead of EIP + CS.base is not logical... Regards, Fabrice.