SwiftBacktrace

master

Stack traces for Swift on Mac and Linux using `libunwind`.
norio-nomura/SwiftBacktrace

SwiftBacktrace

SwiftPM Nightly

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.

Description

  • Swift Tools 4.0.0
View More Packages from this Author

Dependencies

Last updated: Fri Oct 18 2024 10:29:59 GMT-0900 (Hawaii-Aleutian Daylight Time)