Enhance debugger status bar with function and address information using stack trace symbolization#842
Enhance debugger status bar with function and address information using stack trace symbolization#842
Conversation
Co-authored-by: xusheng6 <94503187+xusheng6@users.noreply.github.com>
|
|
|
@copilot when it is possible, prefer to display the IP as function + offset. Only fallback to module+offset when it is not possible. Check how the stack trace is displayed and symbolized |
Co-authored-by: xusheng6 <94503187+xusheng6@users.noreply.github.com>
Updated the implementation to prioritize function+offset over module+offset, matching the stack trace behavior. Now uses New priority order:
Example outputs:
Commit: b41ac95 |
|
@copilot, no, |
Co-authored-by: xusheng6 <94503187+xusheng6@users.noreply.github.com>
Updated to use the exact same approach as the stack trace widget. Now retrieves function information directly from the current thread's first frame instead of using New approach:
Benefits:
Commit: 6005886 |
… using stack trace symbolization (#842)
The debugger status bar now displays comprehensive information when the target has stopped, showing the current address with function symbolization that uses the exact same approach as the stack trace widget.
Changes Made
Enhanced the
TargetStoppedEventTypecase inDebuggerStatusBarWidget::updateStatusText()to include:0xprefixSymbolization Approach
The status bar now uses the exact same symbolization method as the stack trace widget:
FrameItemconstructormodule!prefix from function namesframe.m_pc - frame.m_functionStartExample Output
Before:
After (when function info available from frames):
After (fallback to module info):
Implementation Details
GetFramesOfThread()to retrieve actual frame data from the debuggerFrameItemconstructormodule!functionformat by removing module prefixframe.m_pc - frame.m_functionStartfor precisionAbsoluteAddressToRelative()when frame data is unavailable\) and Unix (/) path separatorsThe enhancement provides precise debugging context by using the exact same function symbolization as the stack trace widget. This ensures perfect consistency with existing UI and eliminates irrelevant string analysis, providing immediate context about where execution stopped using actual frame data from the debugger.
Fixes #841.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.