3 ms·
We ran into similar issues at Sentry when trying to unify across platform differences in how C++ compilers emit function names. There is some code in place tha
by the_mitsuhiko 5y ago
We ran into similar issues at Sentry when trying to unify across platform differences in how C++ compilers emit function names. There is some code in place that tries to clean up function names and trim out the relevant part (eg: just the function name). If someone is curious, this is how this is implemented currently: https://github.com/getsentry/sentry/blob/9681dedd549b64440fe11aca213957399b7cbb27/src/sentry/stacktraces/functions.py#L119 https://github.com/getsentry/sentry/blob/9681dedd549b64440fe...
For instance it turns `<lambda_7156c3ceaa11256748687ab67e3ef4cd>::operator()` into `lambda::operator()` or things such as `static unsigned int Scaleform::GFx::AS3::IMEManager::DispatchEvent(char const *,char const *,char const *) const` into `Scaleform::GFx::AS3::IMEManager::DispatchEvent`.
Unfortunately the information in the demangled information is in the textual form often not good enough to process it, and the demanglers are so complex that maintaining custom formatters for them is a huge task.