Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d49fe171
Commit
d49fe171
authored
Mar 30, 2010
by
Eric Pouech
Committed by
Alexandre Julliard
Mar 31, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedbg: Allow backtraces to properly return address outside functions.
parent
eef72ad2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
0 deletions
+9
-0
stack.c
programs/winedbg/stack.c
+9
-0
No files found.
programs/winedbg/stack.c
View file @
d49fe171
...
...
@@ -83,6 +83,15 @@ static BOOL stack_get_frame(int nf, IMAGEHLP_STACK_FRAME* ihsf)
{
memset
(
ihsf
,
0
,
sizeof
(
*
ihsf
));
ihsf
->
InstructionOffset
=
dbg_curr_thread
->
frames
[
nf
].
linear_pc
;
/* if we're not the first frame, InstructionOffset is the return address
* after the call instruction (at least on most processors I know of).
* However, there are cases where this address is outside of the current function.
* This happens when the called function is marked <NO RETURN>, in which
* case the compiler can omit the epilog (gcc 4 does it)
* Therefore, we decrement InstructionOffset in order to ensure that
* the considered address is really inside the current function.
*/
if
(
nf
)
ihsf
->
InstructionOffset
--
;
ihsf
->
FrameOffset
=
dbg_curr_thread
->
frames
[
nf
].
linear_frame
;
ihsf
->
StackOffset
=
dbg_curr_thread
->
frames
[
nf
].
linear_stack
;
return
TRUE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment