When the Sparkle debugger opens, it hides "glue" frames at the top and bottom of the stack and automatically selects the top remaining frame. Sometimes, however, the most useful frame to be selected is not the top frame, so there's improvement that could be done for some common circumstances, at the cost of some complexity.
Examples:
- The top frame of an MNU is Object >> doesNotUnderstand:, since that is the place where #signal: is sent. However, it is typically more useful to see the frame two below that, which is the frame that sent the not-understood message.
- When debugging an SUnit test assertion failure, a better starting point is typically the frame that sent the assertion message, not the frame internal to the SUnit framework which actually signals the exception.
When the Sparkle debugger opens, it hides "glue" frames at the top and bottom of the stack and automatically selects the top remaining frame. Sometimes, however, the most useful frame to be selected is not the top frame, so there's improvement that could be done for some common circumstances, at the cost of some complexity.
Examples: