fall back to .debug_info scan in fatal signal handler v2016.10.17.00
authorPhilip Pronin <philipp@fb.com>
Sat, 15 Oct 2016 04:44:00 +0000 (21:44 -0700)
committerFacebook Github Bot <facebook-github-bot-bot@fb.com>
Sat, 15 Oct 2016 04:53:31 +0000 (21:53 -0700)
commitcb3a7e4572affb970e7491a94c9503b6a2745d1e
tree69eace853975191e0a89bea913f9d5ffd35e9d0f
parentfc838f2b6a5f850b9465dd9aa448bb1039d11d8a
fall back to .debug_info scan in fatal signal handler

Summary:
We've found clang might be generating incomplete `.debug_aranges`,
while falling back to linear `.debug_info` scan is too expensive and shouldn't
be used by default, we can afford doing that in fatal signal handler.

Also optimize `exception_tracer::printExceptionInfo()` to avoid `LocationInfo`
resolution if `NO_FILE_AND_LINE` is used.

Reviewed By: luciang, ot

Differential Revision: D4020989

fbshipit-source-id: 84172208736b224c19206da48bcb3b5c0b2c67d0
folly/experimental/exception_tracer/ExceptionTracer.cpp
folly/experimental/symbolizer/Dwarf.cpp
folly/experimental/symbolizer/Dwarf.h
folly/experimental/symbolizer/SignalHandler.cpp
folly/experimental/symbolizer/Symbolizer.cpp
folly/experimental/symbolizer/Symbolizer.h
folly/experimental/symbolizer/test/DwarfBenchmark.cpp