Name: ddbug
Owner: gimli-rs
Description: Display debugging information
Created: 2016-11-16 03:55:54.0
Updated: 2018-05-21 06:07:43.0
Pushed: 2018-05-21 06:07:42.0
Size: 804
Language: Rust
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
ddbug
is a utility for using DWARF debugging information to explore aspects
code generation, and in particular to see how the code generation changes due
to things such as source code changes or compiler option changes.
Features:
This is alpha software. It is likely to contain many bugs and incomplete features. Neverthless, it is in a state where it can still provide some use. Bug reports and feature requests are welcome.
Supports:
After installing Rust, run:
o install --git https://github.com/gimli-rs/ddbug
Find the file containing the debugging information, then run:
g path-to-file
See ddbug --help
for details on options to control which information
is displayed.
Usually you will want to run ddbug
on binaries that have been
optimized, but which still contain debugging information. For rust, you
can build your code using:
FLAGS=-g cargo build --release
When given the --diff
option and two paths to files, ddbug
will
display the differences between the two binaries. There are some command
line options to specify which differences are considered significant.
ct core::fmt::Formatter
size: 96
members:
0[16] width: union core::option::Option<usize>
16[16] precision: union core::option::Option<usize>
32[16] buf: struct core::fmt::&mut Write
48[16] curarg: struct core::slice::Iter<core::fmt::ArgumentV1>
64[16] args: struct &[core::fmt::ArgumentV1]
80[4] flags: u32
84[4] fill: char
88[1] align: enum core::fmt::rt::v1::Alignment
89[7] <padding>
Note that this is a C style enumeration. Rust enumerations are encoded in the debugging information as both a union and an enum.
core::result::Result
size: 1
enumerators:
Ok(0)
Err(1)
dbug::main
linkage name: _ZN5ddbug4mainE
address: 0x601f0-0x629d9
size: 10218
inlined functions:
[30] log::__static_max_level
[59] log::max_log_level
calls:
0x40eee0 env_logger::init
0x48870 core::result::Result<(), log::SetLoggerError>::ok<(),log::SetLoggerError>
og::__static_max_level
linkage name: _ZN3log18__static_max_levelE
inline: yes
return type:
[8] enum log::LogLevelFilter
Copyright 2016-2018 The ddbug developers
This software is licensed under either of
LICENSE-APACHE
or http://www.apache.org/licenses/LICENSE-2.0)LICENSE-MIT
or http://opensource.org/licenses/MIT)at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
This software links with a number of libraries, which have their own licenses. In particular, it links with the panopticon library, which is licensed under GPL Version 3.