Stack traces can contain a lot of information, to the point that it can sometimes be quite hard to see the wood for the trees. Usually the first thing a developer wants to know when looking at a stack trace is simply “what was the chain of function calls that led to this error?” But between full paths for source code files, long method signatures, template / generic arguments and attributes there can be a lot of noise, making this harder than it should be.
We’ve just rolled out some visual changes to simplify the data we show for Objective-C, Swift and C++ stack frames (including Android NDK, minidumps and Unreal Engine).
A gif speaks at least a 1000 words so see the changes in action 👇
To spell it out in a little more detail:
- For the 3 fields in each stack frame (module, source file and location, function) we show by default the simplest version we can. We remove the path from the file locations and attempt to reduce the function information down to its name.
- When the field is expandable we show an icon () next to it to allow you to toggle between the simplified and fuller views.
- If you shift-click the icon it will expand or collapse that field for all stack frames in the project.
- Android NDK stack traces now look like other C++ stack traces, which means the same error will look the same in x-platform C++ frameworks like Unreal Engine
If you have any feedback on this new feature please contact us through the Bugsnag dashboard.