PrettyStackTrace

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 许可下发布,该许可的副本可在本仓库中找到。