From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 939 invoked by alias); 4 Nov 2005 15:13:19 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 910 invoked by uid 22791); 4 Nov 2005 15:13:16 -0000 Received: from host217-40-213-68.in-addr.btopenworld.com (HELO SERRANO.CAM.ARTIMI.COM) (217.40.213.68) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 04 Nov 2005 15:13:16 +0000 Received: from espanola ([192.168.1.110]) by SERRANO.CAM.ARTIMI.COM with Microsoft SMTPSVC(6.0.3790.1830); Fri, 4 Nov 2005 15:13:14 +0000 From: "Dave Korn" To: "'Daniel Jacobowitz'" , "'Efim Monjak'" Cc: Subject: RE: break of close loop Date: Fri, 04 Nov 2005 15:13:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit In-Reply-To: <20051104142702.GB1842@nevyn.them.org> Message-ID: X-SW-Source: 2005-11/txt/msg00101.txt.bz2 Daniel Jacobowitz wrote: > On Fri, Nov 04, 2005 at 10:14:31AM +0100, Efim Monjak wrote: >> Hi, >> >> as I see the step for debugger is not the same as stepi. >> After step command debugger try to go to the next source line. >> I think it checks for number of source line. >> I mean many single steps can be done before an another source >> line is recognised. Recognising of an other source line is need >> to complete the step command. >> After single step command only one single step is done. I don't know >> if for an other address is checked or single step responce is enougth >> to complete the single step. > > Then your stub is simply wrong. GDB expects a single step instruction > to execute a single instruction, not until the address changes. The stub is probably implemented by placing a temp breakpoint immediately after the instruction to be tested, but has negelected the fact that to handle jumps you may need to place the temp breakpoint somewhere _other_ than immediately after the instruction, and that with conditional branches you need to place _two_ temp breakpoints, one at the branch target and one immediately after the branch to catch the fallthrough if the branch is not taken. Which is why it's often easier for a stub to just emulate jump/branch insns. cheers, DaveK -- Can't think of a witty .sigline today....