The new Swift 5.9 release includes several useful features for debugging code. One notable feature is the out-of-process, interactive crash handler that allows developers to inspect crashes in real-time. Additionally, the release includes the ability to trigger the debugger for just-in-time debugging and concurrency-aware backtracing, which helps to understand control flow in a program using structured concurrency. Prior to Swift 5.9, crash logs on Linux were limited, but now developers get a more detailed crash report that includes information about the crash location and code snippets. The release also introduces interactive backtraces, which provide developers with the opportunity to attach a debugger or perform additional inspections when a program crashes. The backtracer is concurrency-aware and can step back through asynchronous frames. Other improvements include options to improve readability, such as configuring the number of frames displayed and skipping system frames and Swift thunks. The feature is enabled by default on Linux and can be manually enabled on macOS, but it is not supported on Windows. Overall, the new debugging features in Swift 5.9 enhance the debugging experience and provide developers with more tools to troubleshoot their programs.
https://www.swift.org/blog/swift-5.9-backtraces/