SwiftBacktrace

Stack traces for Swift on Mac and Linux using libunwind
.
Installation
SwiftBacktrace
depends on libunwind
.
On macOS
compatible with pre-installed /usr/lib/system/libunwind.dylib
.
On Linux
libunwind8
installaion is required.
apt-get update && apt-get install -y libunwind8
Getting started
import SwiftBacktrace
print(backtrace().joined(separator: "\n")) // backtrace()
print(demangledBacktrace().joined(separator: "\n")) // demangled backtrace
Output example on Linux CI:
/root/project/.build/x86_64-unknown-linux/debug/SwiftBacktracePackageTests.xctest(SwiftBacktrace.callStackSymbols<A>(_: Swift.Int, transform: ((module: Swift.String, name: Swift.String, offset: Swift.UInt64, address: Swift.Optional<Swift.UnsafeRawPointer>)) -> A) -> Swift.Array<A>+0x87) [0x55f78f85c0b7]
/root/project/.build/x86_64-unknown-linux/debug/SwiftBacktracePackageTests.xctest(SwiftBacktrace.demangledBacktrace(Swift.Int) -> Swift.Array<Swift.String>+0x80) [0x55f78f85ae10]
/root/project/.build/x86_64-unknown-linux/debug/SwiftBacktracePackageTests.xctest(SwiftBacktraceTests.SwiftBacktraceTests.test_backtrace() -> ()+0x4a5) [0x55f78f8608d5]
/root/project/.build/x86_64-unknown-linux/debug/SwiftBacktracePackageTests.xctest(partial apply forwarder for SwiftBacktraceTests.SwiftBacktraceTests.test_backtrace() -> ()+0x9) [0x55f78f861119]
Author
Norio Nomura
License
This package is available under the MIT license. See the LICENSE file for more info.
SwiftBacktrace
Stack traces for Swift on Mac and Linux using
libunwind
.Installation
SwiftBacktrace
depends onlibunwind
.On macOS
compatible with pre-installed
/usr/lib/system/libunwind.dylib
.On Linux
libunwind8
installaion is required.Getting started
Output example on Linux CI:
Author
Norio Nomura
License
This package is available under the MIT license. See the LICENSE file for more info.