From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29068 invoked by alias); 3 Aug 2005 09:58:37 -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 29056 invoked by uid 22791); 3 Aug 2005 09:58:34 -0000 Received: from mail.lancom.de (HELO mail.lancom.de) (213.217.69.66) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 03 Aug 2005 09:58:34 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.lancom.de (Postfix) with ESMTP id 402AC498013; Wed, 3 Aug 2005 11:58:32 +0200 (CEST) Received: from mail.lancom.de ([127.0.0.1]) by localhost (mail.lancom.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 06815-05; Wed, 3 Aug 2005 11:58:31 +0200 (CEST) Received: from lcs-mail.lancom.de (lcs-mail.lancom.de [10.1.80.23]) by mail.lancom.de (Postfix) with ESMTP id F1FCB498005; Wed, 3 Aug 2005 11:58:30 +0200 (CEST) To: Shaun Jackman Cc: gdb@sources.redhat.com Subject: Re: BDI2000 "Cannot insert breakpoint" MIME-Version: 1.0 Message-ID: From: frank.theinen@lancom.de Date: Wed, 03 Aug 2005 09:58:00 -0000 Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2005-08/txt/msg00015.txt.bz2 Hi Shaun, > I am using a BDI2000 over Ethernet with gdb 6.3.50.20050801-cvs for > arm-elf. Occasionally, if I have a breakpoint set a continue or next > command will fail with an "Error accessing memory address" error as > below: > > (gdb) n > Warning: > Cannot insert breakpoint 0. > Error accessing memory address 0x2017fe0: Unknown error 4294967295. > > Often clearing the breakpoints with 'd b' and resetting the breakpoint > will fix things. Is this perhaps related to hardware/software > breakpoints? Any idea why it's failing? yes, probably. If you configured the BDI2000 to use hardware breakpoints, and you have two breakpoints set, this will happen, when GDB "nexts" a subroutine call. GDB usually does single stepping, and when it single-steps into a subroutine, it sets a (kind of) temporary breakpoint at the position the LR points to and "continues" to leave the subroutine. You can verify this behaviour by capturing the serial GDB communication where you can see the failing breakpoint setting operation. Regards, Frank