以下命令
$ cargo build
生成非优化构建以及调试信息。相反,
$ cargo build --release
生成优化的构建,没有调试信息。
有没有办法生成带有调试信息的优化构建?我需要它来获取有意义的分析信息。
Rust 1.57 开始,Cargo 现在允许 自定义配置文件。这允许您定义自己的配置文件来添加调试信息:
[profile.release-with-debug]
inherits = "release"
debug = true
您可以在构建时使用该配置文件:
% cargo build --profile=release-with-debug
Compiling buggin v0.1.0 (/tmp/buggin)
Finished release-with-debug [optimized + debuginfo] target(s) in 0.48s
在此版本之前,或者如果您总是想要获得调试信息,您可以修改release
[profile.release]
debug = true
请注意,release
配置文件和
bench
配置文件不同。另请参阅
或者基本上是“rust profiling”的任何热门搜索结果:
CARGO_PROFILE_<profile_name>_DEBUG
环境变量。示例:
CARGO_PROFILE_RELEASE_DEBUG=true cargo build --release