You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's often helpful, when looking at the stack trace of a crash, to see the stack trace of the thread that spawned it. E.g., if I run queue.async { <block> } and it crashes in the block, I might want to see the stack trace of where queue.async was called. This is done using backtrace recording in GCD (under "Examining the Backtrace in the Debug Navigator" https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/quickstart.html), however I don't see a publicly documented way of using GCD backtrace recording with crash reporting in the wild. So there are a few options to accomplish backtrace recording:
Figure out how to get GCD backtrace recording in the wild
Use this future library to somehow record backtraces. One way that I can think of to do this is to have a global set of all backtraces for unfinished futures that could somehow be dumped at crash time
There are two problems here, one is to record the backtraces, the other is to somehow get them written out when a crash happens, e.g. via a signal-safe handler or writing to disk often.
The text was updated successfully, but these errors were encountered:
It's often helpful, when looking at the stack trace of a crash, to see the stack trace of the thread that spawned it. E.g., if I run
queue.async { <block> }
and it crashes in the block, I might want to see the stack trace of wherequeue.async
was called. This is done using backtrace recording in GCD (under "Examining the Backtrace in the Debug Navigator" https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/quickstart.html), however I don't see a publicly documented way of using GCD backtrace recording with crash reporting in the wild. So there are a few options to accomplish backtrace recording:There are two problems here, one is to record the backtraces, the other is to somehow get them written out when a crash happens, e.g. via a signal-safe handler or writing to disk often.
The text was updated successfully, but these errors were encountered: