Chromium Code Reviews| Index: testing/libfuzzer/reproducing.md |
| diff --git a/testing/libfuzzer/reproducing.md b/testing/libfuzzer/reproducing.md |
| index 8072cec5363871ab4a8c97d4a596d7280b6bd42c..817b8a50ff00ce5afb11f7e440509ccf7b5620be 100644 |
| --- a/testing/libfuzzer/reproducing.md |
| +++ b/testing/libfuzzer/reproducing.md |
| @@ -86,3 +86,31 @@ $ export UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1 |
| $ out/libfuzzer/$FUZZER_NAME /path/to/repro |
| ``` |
| +### Symbolization |
| + |
| +Memory tools (ASan, MSan, UBSan) use [llvm-symbolizer] binary from the Clang |
| +distribution to symbolize the stack traces. To get a symbolized crash report, |
| +make sure `llvm-symbolizer` is in `PATH` or provide it in separate |
|
Nico
2016/08/29 12:04:13
Mention that llvm-symbolizer is in third_party/llv
mmoroz
2016/08/29 12:40:00
Done.
|
| +`ASAN_SYMBOLIZER_PATH` environment variable: |
| + |
| +```bash |
| +$ export ASAN_SYMBOLIZER_PATH=/path/to/llvm_build/bin/llvm-symbolizer |
| +$ out/libfuzzer/$FUZZER_NAME /path/to/repro |
| +``` |
| + |
| +The same approach works for `MSAN_SYMBOLIZER_PATH` and `UBSAN_SYMBOLIZER_PATH`. |
| + |
| +Additional information regarding symbolization is available in sanitizers |
| +documentation: [AddressSanitizerCallStack]. |
| + |
| + |
| +### Debugging |
| + |
| +Please checkout [AddressSanitizerAndDebugger] page for some tips on debugging of |
|
Nico
2016/08/29 12:04:13
s/checkout/look at/ since "checkout" sounds like `
mmoroz
2016/08/29 12:40:00
Thanks for the explanation! My bad.
abort_on_erro
|
| +binaries built with ASan. For binaries built with MSan, |
| +`MSAN_OPTIONS=abort_on_error=1` makes gdb to stop after the report. |
| + |
| + |
| +[AddressSanitizerAndDebugger]: https://github.com/google/sanitizers/wiki/AddressSanitizerAndDebugger |
| +[AddressSanitizerCallStack]: https://github.com/google/sanitizers/wiki/AddressSanitizerCallStack |
| +[llvm-symbolizer]: http://llvm.org/docs/CommandGuide/llvm-symbolizer.html |