这个 Swift 包提供了对 Swift 程序自动打印崩溃回溯追踪的支持。
这个库旨在填补非 Darwin 平台 Swift 回溯追踪支持方面的空白。当语言运行时层面填补了这个空白时,这个库将变得多余并被弃用。
在构建 Web 服务和守护程序时,不鼓励直接使用此库。 相反,请使用 swift-service-lifecycle,它可以帮助管理应用程序生命周期,包括在需要时设置回溯追踪钩子。
在你的 Package.swift
中添加 https://github.com/swift-server/swift-backtrace.git
作为依赖项。
在你的 main.swift
中,执行
import Backtrace
// Do this first
Backtrace.install()
最后,对于 Swift < 5.2,请确保你在构建应用程序时启用了调试符号。 对于 Swift 5.2 及更高版本,调试符号会自动包含。
$ swift build -c release -Xswiftc -g
当你的应用崩溃时,堆栈跟踪将被打印到 stderr
。
有关安全流程的详细信息,请参阅 SECURITY.md。
Ian Partridge (GitHub, Twitter) 本软件包的原始作者。