Skip to content

Stack walk visualization#626

Open
linxuanm wants to merge 5 commits intotitzer:masterfrom
linxuanm:walk-visual
Open

Stack walk visualization#626
linxuanm wants to merge 5 commits intotitzer:masterfrom
linxuanm:walk-visual

Conversation

@linxuanm
Copy link
Copy Markdown
Contributor

@linxuanm linxuanm commented May 9, 2026

This PR adds a trace table for X86_64Stack.walk to help visualizing the stack walk and debug.

Example:

Stack walk trace:
 Stack              Frame Type               Frame Pointer (%sfp)            Return IP Next Action
--------------------------------------------------------------------------------------------------------
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8B98   0x000078891C159538 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8C08   0x000078891C1590BB To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8C78   0x000078891C1592D1 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8CE8   0x000078891C159154 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8D58   0x000078891C1592D1 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8DC8   0x000078891C159154 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8E38   0x000078891C1592D1 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8EA8   0x000078891C159154 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8F18   0x000078891C1592D1 To Prev Frame
 0x0842A6A8         X86_64SpcModuleCode        0x000078891BED8F88   0x000078891C159154 To Prev Frame
 0x0842A6A8         X86_64ReturnParentStub     0x000078891BED8FF8           0x083B4C4D To Parent Stack
--------------------------------------------------------------------------------------------------------
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58B98   0x000078891C159538 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58C08   0x000078891C1590BB To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58C78   0x000078891C1592D1 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58CE8   0x000078891C159154 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58D58   0x000078891C1592D1 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58DC8   0x000078891C159154 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58E38   0x000078891C1592D1 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58EA8   0x000078891C159154 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58F18   0x000078891C1592D1 To Prev Frame
 0x0842A7E0         X86_64SpcModuleCode        0x000078891BE58F88   0x000078891C159154 To Prev Frame
 0x0842A7E0         X86_64ReturnParentStub     0x000078891BE58FF8           0x083B4C4D To Parent Stack
--------------------------------------------------------------------------------------------------------
 0x0842A918         X86_64SpcModuleCode        0x000078891BDD8F88   0x000078891C159739 Finish
--------------------------------------------------------------------------------------------------------

Copy link
Copy Markdown
Owner

@titzer titzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, I like this! Just some cleanup comments.

Comment thread src/engine/x86-64/X86_64Stack.v3
Comment thread src/engine/x86-64/X86_64Stack.v3 Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants