Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Call Stack "Paused On Breakpoint" UI not visible for long thread names #68276
Steps to Reproduce:
Bug: The "Paused on Breakpoint" UI is not visible for the threads with long names, so I can't see which thread call stack I'm actively debugging.
Does this issue occur when all extensions are disabled?: Yes, but needs the C/C++ extension to debug.
IMHO the most common case is that the PAUSED ON BREAKPOINT label gets cut and becomes PAUSED ON B... which is much better than cutting the name of the thread, which the users can not infer.
Also this would make it inconsistent in the way we hide things for stack frames. The name of the stack frame gets hidden last. Since it is the most important
Due to that I have no plans to change this in the immediate future. Thus moving to backlog.
I think the fix for #68616 (no active thread highlighting/scrolling) will make this issue less important, so putting it the back log would be okay with me. In addition, we could set more of our thread names in our code.
But FYI our C/C++ debugger guy @WardenGnaw says:
There is no way for us to know how many characters are available to the user in the call stack window and no good way to determine where to truncate the thread name.
I believe VS Code should be truncating it to “Microsoft.VSCode.CPP.Extension.exe!thead_start<unsigned int (__stdcall …. [PAUSED ON BREAKPOINT]” and if you want to see the full name of the thread, you should be able to hover over that thread and see the full name as a tooltip."
There is currently no good way to limit it on the debug adapter side. The adapter has no knowledge on how big the CallStack WindowPane is or many characters are available to display. Setting the limit to an arbitrary number would be a bad experience for customers on varying monitor sizes or how they setup the VS Code window.
If we modify the protocol to send over a the display limit, this would be broken if the user decides to resize the window. Sending another StackFrameRequest would be a big overhead just to recalculate the thread name.
My proposed solution is for VS Code to truncate the long thread name.
Where to truncate the thread name can be determined by the UI and if the user resizes the window, the UI can recalculate this.
If you want to see the full name of the thread, you should be able to hover over that thread and see the full name as a tooltip.