Het volgende commando
$ cargo build
produceert een niet-geoptimaliseerdebuild metfoutopsporingsinformatie. Integendeel,
$ cargo build --release
produceert een geoptimaliseerdebuild zonderinformatie te debuggen.
Is er een manier om een geoptimaliseerdebuild metfoutopsporingsinformatie te produceren? Ik heb dit nodig om zinvolle profileringsinformatie te krijgen.
Antwoord 1, autoriteit 100%
Zoals getoond in de Cargo-documentatie, pas de release
profiellos om foutopsporingssymbolen op te nemen:
[profile.release]
debug = true
Houd er rekening mee dat het profiel release
en het profiel bench
verschillen.
Zie ook
- Kunnen tests worden gebouwd in de vrijgavemodus met Cargo?
- Een geoptimaliseerd Rust-programma compileren en uitvoeren met overloopcontrole ingeschakeld
- Ondersteunt Cargo aangepaste profielen?
Of eigenlijk een van de beste zoekresultaten voor “roestprofilering”:
- Roestprofilering met instrumenten en FlameGraph aan OSX: CPU/Tijd
- Roest-applicaties profileren op Linux
- Profilering roestcode met callgrind
Antwoord 2, autoriteit 82%
Een andere optie die ik heb gevonden en waarvoor geen wijziging van Cargo.toml
nodig is, is het gebruik van de RUSTFLAGS
omgevingsvariabele:
$ RUSTFLAGS=-g cargo build --release