From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9008 invoked by alias); 17 Sep 2014 11:38:54 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 8978 invoked by uid 48); 17 Sep 2014 11:38:54 -0000 From: "palves at redhat dot com" To: gdb-prs@sourceware.org Subject: [Bug gdb/17384] android arm gdb "Cannot access memory at address" when I "stepi" over "blx" Date: Wed, 17 Sep 2014 11:38:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: palves at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-q3/txt/msg00680.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17384 --- Comment #11 from Pedro Alves --- > Also, regarding safe_read_memory_integer() printing errors I should say that > there is more to that part of the bug than just the fact that the error is > printed. This is because after I type "next" and get the error, I cannot just > run "next" again; at that point gdb just constantly prints "Cannot find bounds > of current function" and refuses to move forward; like this: Yeah, GDB isn't very clear here. GDB is looking for the bounds of the function in order to do the: printf_filtered (_("Single stepping until exit from function %s," "\nwhich has no line number information.\n"), name); bit, which you've probably seen trigger before. If you do "set step-mode on", GDB will fall back to "stepi" instead of erroring out. /* If we have no line info, switch to stepi mode. */ if (tp->control.step_range_end == 0 && step_stop_if_no_debug) { tp->control.step_range_start = tp->control.step_range_end = 1; tp->control.may_range_step = 0; } else if (tp->control.step_range_end == 0) { const char *name; if (find_pc_partial_function (pc, &name, &tp->control.step_range_start, &tp->control.step_range_end) == 0) error (_("Cannot find bounds of current function")); target_terminal_ours (); printf_filtered (_("Single stepping until exit from function %s," "\nwhich has no line number information.\n"), name); } IMO, instead of "error", when we can't find the founds of the function, GDB should instead switch to stepi mode. I think there's a specific bug open about this. -- You are receiving this mail because: You are on the CC list for the bug.