Skip to content

Commit

Permalink
Fix documentation example for gcov profiling
Browse files Browse the repository at this point in the history
Incremental compilation needs to be turned off. Also added the other RUSTFLAGS that should/need to be turned on.
  • Loading branch information
jschwe committed May 26, 2020
1 parent 62da38d commit 2b26b8b
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/doc/unstable-book/src/compiler-flags/profile.md
Expand Up @@ -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.

0 comments on commit 2b26b8b

Please sign in to comment.