重要提示

由于回溯功能已内置于 Swift 5.9 及更高版本中,此库现已归档。

回溯 (Backtrace)

这个 Swift 包为 Swift 程序提供自动打印崩溃回溯的支持。

该库旨在填补非 Darwin 平台上 Swift 回溯支持方面的空白。 当语言运行时层面填补了这个空白后,此库将变得多余并被弃用。

用法

注意:从 Swift 5.9 开始,您在 Linux 上不需要此库,因为它已经内置了回溯支持。

在您的 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),此软件包的原始作者。

Johannes Weiss (GitHub, Twitter),感谢他的信号处理代码。

Saleem Abdulrasool (GitHub, Twitter),感谢他的 Windows 端口。