aboutsummaryrefslogtreecommitdiff
path: root/vendor/backtrace/examples/raw.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/backtrace/examples/raw.rs')
-rw-r--r--vendor/backtrace/examples/raw.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/vendor/backtrace/examples/raw.rs b/vendor/backtrace/examples/raw.rs
deleted file mode 100644
index d96a127..0000000
--- a/vendor/backtrace/examples/raw.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-fn main() {
- foo();
-}
-
-fn foo() {
- bar()
-}
-fn bar() {
- baz()
-}
-fn baz() {
- print()
-}
-
-#[cfg(target_pointer_width = "32")]
-const HEX_WIDTH: usize = 10;
-#[cfg(target_pointer_width = "64")]
-const HEX_WIDTH: usize = 20;
-
-fn print() {
- let mut cnt = 0;
- backtrace::trace(|frame| {
- let ip = frame.ip();
- print!("frame #{:<2} - {:#02$x}", cnt, ip as usize, HEX_WIDTH);
- cnt += 1;
-
- let mut resolved = false;
- backtrace::resolve(frame.ip(), |symbol| {
- if !resolved {
- resolved = true;
- } else {
- print!("{}", vec![" "; 7 + 2 + 3 + HEX_WIDTH].join(""));
- }
-
- if let Some(name) = symbol.name() {
- print!(" - {}", name);
- } else {
- print!(" - <unknown>");
- }
- if let Some(file) = symbol.filename() {
- if let Some(l) = symbol.lineno() {
- print!("\n{:13}{:4$}@ {}:{}", "", "", file.display(), l, HEX_WIDTH);
- }
- }
- println!("");
- });
- if !resolved {
- println!(" - <no info>");
- }
- true // keep going
- });
-}