PrettyStackTrace 允许 Swift 命令行程序在发生致命错误等终止信号时,打印执行行为的追踪信息。
要使用它,请将你的操作包裹在 trace(_:)
的调用中。 这将在堆栈追踪中注册一个条目,并且(如果你的进程发生致命错误)会将 breadcrumbs(面包屑)打印到 stderr,描述崩溃时正在发生的事情。
PrettyStackTrace 可通过 Swift 包管理器获取。 将以下内容添加到
.package(url: "https://github.com/llvm-swift/PrettyStackTrace.git", from: "0.0.1")
你的 Package.swift 文件以使用它。
trace("doing first task") {
print("I'm doing the first task!")
trace("doing second task") {
print("I'm doing the second task!")
fatalError("error on second task!")
}
}
这将输出
I'm doing the first task!
I'm doing the second task!
Fatal error: error on second task
Stack dump:
-> While doing second task (func main(), in file file.swift, on line 3)
-> While doing first task (func main(), in file file.swift, on line 1)
Harlan Haskins (@harlanhaskins)
Robert Widmann (@CodaFi)
PrettyStackTrace 在 MIT 许可下发布,该许可的副本可在本仓库中找到。