From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31457 invoked by alias); 17 Sep 2014 10:20:25 -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 31432 invoked by uid 48); 17 Sep 2014 10:20:24 -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 10:20: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/msg00678.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17384 --- Comment #9 from Pedro Alves --- > Also, I noted that if I put a breakpoint on > "blink::RenderFullScreen::createPlaceholder" and then just do "bt" when the > breakpoint hits, then it prints the same error after the bt is printed (so > this has nothing to do with next/stepi specifically) (...) Yeah, this is an issue in the unwinder, which next/step use internally to detect when the program stepped into a function. "bt" is the most direct way to trigger the unwinder. If you have no (dwarf) debug/unwind info available, then GDB's fallback heuristic unwinders kick in, which, being heuristic can fail to unwind in presence of clever compiler optimizations that end up generating frames/prologues that gdb might not grok, etc. Sometimes we may be able to improve the heuristics, often times, we won't, and debug info is the only salvation. First, IMO, safe_read_memory_integer shouldn't ever print the error. It's just too confusing when the unwinder kicks in for any reason other than "bt", and just throws us chasing red herrings. I've raised this here now: https://sourceware.org/ml/gdb-patches/2014-09/msg00574.html With that out of the way, this then boils down to just another case of either getting debug/unwind info for that code, or staring at the disassembly of the function and seeing whether GDB's fallback heuristic unwinder could be improved somehow. (I'm no particular ARM expert, so I'll leave that to someone else). -- You are receiving this mail because: You are on the CC list for the bug.