The following command
$ cargo build
produces a non-optimized build with debugging information. On the contrary,
$ cargo build --release
produces an optimized build without debugging information.
Is there a way of producing an optimized build with debugging information? I need this to get meaningful profiling information.
As shown in the Cargo documentation, modify the release
profile to include debugging symbols:
[profile.release]
debug = true
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":
s3rvac
Another option that I found that does not require changing Cargo.toml
is to use the RUSTFLAGS
environment variable:
$ RUSTFLAGS=-g cargo build --release
来源:https://stackoverflow.com/questions/38803760/how-to-get-a-release-build-with-debugging-information-when-using-cargo