[]
= "backtrace"
= "0.3.5"
= ["Alex Crichton <alex@alexcrichton.com>",
"The Rust Project Developers"]
= "MIT/Apache-2.0"
= "README.md"
= "https://github.com/alexcrichton/backtrace-rs"
= "https://github.com/alexcrichton/backtrace-rs"
= "http://alexcrichton.com/backtrace-rs"
= """
A library to acquire a stack trace (backtrace) at runtime in a Rust program.
"""
[]
= "0.1"
= "0.1.4"
# Optionally enable the ability to serialize a `Backtrace`
= { = "1.0", = true }
= { = "1.0", = true }
= { = "0.3", = true }
# Optionally demangle C++ frames' symbols in backtraces.
= { = false, = "0.2.3", = true }
= { = "0.5.0", = true }
= { = "0.3.3", = true }
[]
= "0.2"
[]
= { = "0.3.3", = true, = ["std", "dbghelp", "processthreadsapi", "winnt", "minwindef"] }
[]
= { = "backtrace-sys", = "0.1.3", = true }
# Each feature controls the two phases of finding a backtrace: getting a
# backtrace and then resolving instruction pointers to symbols. The default
# feature enables all the necessary features for each platform this library
# supports, but it can be disabled to have finer grained control over the
# dependencies.
#
# Note that not all features are available on all platforms, so even though a
# feature is enabled some other feature may be used instead.
[]
= ["libunwind", "libbacktrace", "coresymbolication", "dladdr", "dbghelp"]
#=======================================
# Methods of acquiring a backtrace
#
# - libunwind: when using this the libgcc library is linked against to get
# the unwinding support. This is generally the most reliable method to get
# a backtrace on unix.
# - unix-backtrace: this uses the backtrace(3) function to acquire a
# backtrace, but is not as reliable as libunwind. It is, however,
# generally found in more locations.
# - dbghelp: on windows this enables usage of dbghelp.dll to find a
# backtrace at runtime
# - kernel32: on windows this enables using RtlCaptureStackBackTrace as the
# function to acquire a backtrace
= []
= []
= ["winapi"]
= []
#=======================================
# Methods of resolving symbols
#
# - libbacktrace: this feature activates the `backtrace-sys` dependency,
# building the libbacktrace library found in gcc repos. This library
# parses the DWARF info of ELF executables to find symbol names, and it
# can also provide filename/line number information if debuginfo is
# compiled in. This library currently only primarily works on unixes that
# are not OSX, however.
# - dladdr: this feature uses the dladdr(3) function (a glibc extension) to
# resolve symbol names. This is fairly unreliable on linux, but works well
# enough on OSX.
# - coresymbolication: this feature uses the undocumented core symbolication
# framework on OS X to symbolize.
# - gimli-symbolize: use the `gimli-rs/addr2line` crate to symbolicate
# addresses into file, line, and name using DWARF debug information. At
# the moment, this is only possible when targetting Linux, since macOS
# splits DWARF out into a separate object file. Enabling this feature
# means one less C dependency.
= ["backtrace-sys"]
= []
= []
= ["addr2line", "findshlibs"]
#=======================================
# Methods of serialization
#
# Various features used for enabling rustc-serialize or syntex codegen.
= ["rustc-serialize"]
= ["serde", "serde_derive"]