How to get a release build with debugging information when using cargo?
As shown in the Cargo documentation, modify the release
profile to include debugging symbols:
[profile.release]
debug = true
Note that the release
profile and the bench
profile differ.
See also
- Can tests be built in release mode using Cargo?
- How to compile and run an optimized Rust program with overflow checking enabled
- Does Cargo support custom profiles?
Or basically any of the top search results for "rust profiling":
- Rust Profiling with Instruments and FlameGraph on OSX: CPU/Time
- Profiling Rust applications on Linux
- Profiling rust code with callgrind
Another option that I found that does not require changing Cargo.toml
is to use the RUSTFLAGS
environment variable:
$ RUSTFLAGS=-g cargo build --release