From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6218 invoked by alias); 3 Apr 2008 08:54:24 -0000 Received: (qmail 6208 invoked by uid 22791); 3 Apr 2008 08:54:22 -0000 X-Spam-Check-By: sourceware.org Received: from mx2.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.25) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 03 Apr 2008 08:53:47 +0000 Received: from kahikatea.snap.net.nz (2.60.255.123.dynamic.snap.net.nz [123.255.60.2]) by viper.snap.net.nz (Postfix) with ESMTP id 6351B3D9E6F for ; Thu, 3 Apr 2008 21:53:44 +1300 (NZDT) Received: by kahikatea.snap.net.nz (Postfix, from userid 1000) id 304FA8FC6D; Thu, 3 Apr 2008 20:53:27 +1200 (NZST) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18420.39684.185853.891083@kahikatea.snap.net.nz> Date: Thu, 03 Apr 2008 08:54:00 -0000 To: gdb@sourceware.org Subject: Multiple breakpoints X-Mailer: VM 7.19 under Emacs 22.1.92.3 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: 2008-04/txt/msg00016.txt.bz2 If I set a breakpoint on TRY_CATCH in gdb_evaluate_expression, I get multiple breakpoints: gdb_evaluate_expression (struct expression *exp, struct value **value) { volatile struct gdb_exception except; -> TRY_CATCH (except, RETURN_MASK_ERROR) { *value = evaluate_expression(exp); } if (except.reason < 0) return 0; return 1; } where -> shows the breakpoint location. Is this to be expected? The assembler looks like this: 0x081c04a1 : push %ebp 0x081c04a2 : mov %esp,%ebp 0x081c04a4 : sub $0x28,%esp -> 0x081c04a7 : mov 0x83a55a0,%edx 0x081c04ad : movl $0x2,0x8(%esp) 0x081c04b5 : lea -0x10(%ebp),%eax 0x081c04b8 : mov %eax,0x4(%esp) 0x081c04bc : mov %edx,(%esp) 0x081c04bf : call 0x814e660 : mov %eax,-0x4(%ebp) 0x081c04c7 : mov -0x4(%ebp),%eax 0x081c04ca : movl $0x1,0x4(%esp) 0x081c04d2 : mov %eax,(%esp) 0x081c04d5 : call 0x8089058 <__si... 0x081c04da : jmp 0x81c04f7 : mov 0x8(%ebp),%eax 0x081c04df : mov %eax,(%esp) 0x081c04e2 : call 0x810fc5e : mov %eax,%edx 0x081c04e9 : mov 0xc(%ebp),%eax 0x081c04ec : mov %edx,(%eax) -> 0x081c04ee : call 0x814e983 : test %eax,%eax 0x081c04f5 : jne 0x81c04dc : call 0x814e96f : test %eax,%eax 0x081c04fe : jne 0x81c04ee : mov -0x10(%ebp),%ea 0x081c0503 : test %eax,%eax 0x081c0505 : jns 0x81c0510 : movl $0x0,-0x14(%ebp 0x081c050e : jmp 0x81c0517 : movl $0x1,-0x14(%ebp) 0x081c0517 : mov -0x14(%ebp),%eax 0x081c051a : leave 0x081c051b : ret End of assembler dump. -- Nick http://www.inet.net.nz/~nickrob