[prev in list] [next in list] [prev in thread] [next in thread]
List: haiku-bugs
Subject: [haiku-bugs] Re: [Haiku] #12548: Debugger: missing stack frames
From: "bonefish" <trac () haiku-os ! org>
Date: 2015-12-29 0:39:16
Message-ID: 059.1e7229524246d641c834ddd709c0f80f () haiku-os ! org
[Download RAW message or body]
#12548: Debugger: missing stack frames
-------------------------------------+----------------------------
Reporter: jessicah | Owner: anevilyak
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Applications/Debugger | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
-------------------------------------+----------------------------
Comment (by bonefish):
Assuming you don't have debug info for `memcpy()` this should be the
issue: In the absence of debug info Debugger resorts to the fallback
method to unwind the current function call -- it uses the return address
and previous frame address stored in the current stack frame. Since
`memcpy()` is probably frameless, the stack frame Debugger sees actually
stems from the calling function and the values stored in it refer to
`_DecodeNextAudioFrame()`. Thus your second function appears missing.
If you could step out of `memcpy()`, the function would be back. IIRC
advancing to a `ret` instruction within `memcpy()` would already help,
since Debugger would notice that we're in the function epilogue and only
the return address remains on the stack.
In theory it would be possible to deal more intelligently with frameless
functions. Debugger could analyze the function to find a code path that
leads out of the function and thus determine the return address and the
calling function's stack and frame pointer.
So, this is really more like a missing feature than a bug. Unless debug
info for `memcpy()` is available that is.
--
Ticket URL: <https://dev.haiku-os.org/ticket/12548#comment:1>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic