Fix documentation example for gcov profiling

Incremental compilation needs to be turned off. Also added the other RUSTFLAGS that should/need to be turned on.
This commit is contained in:
Jonathan Schwender 2020-05-26 15:16:57 +02:00
parent 62da38d00d
commit 2b26b8b32b
No known key found for this signature in database
GPG key ID: 009A0ACC60168113

View file

@ -12,10 +12,15 @@ For example:
```Bash
cargo new testgcov --bin
cd testgcov
export RUSTFLAGS="-Zprofile"
export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
export CARGO_INCREMENTAL=0
cargo build
cargo run
```
Once you've built and run your program, files with the `gcno` (after build) and `gcda` (after execution) extensions will be created.
You can parse them with [llvm-cov gcov](https://llvm.org/docs/CommandGuide/llvm-cov.html#llvm-cov-gcov) or [grcov](https://github.com/mozilla/grcov).
Please note that `RUSTFLAGS` apply to everything that cargo builds and runs during a build, including build scripts!
To avoid this, pass a `RUSTC_WRAPPER` program to cargo that only adds the profiling flags to rustc for the specific
crates you want to profile.