neobytes/src/bench
Alexander Block 48d92f116e Implement optional pretty printed stacktraces (#2420)
* Add libbacktrace to depends

This is currently only useful to extract symbols. It fails to gather
stacktraces when compiled with MinGW, so we can only use it to get symbol
information from a stack trace which we gathered outside of libbacktrace.

* Add -mbig-obj to CXXFLAGS for MinGW builds

* Implement stacktraces for C++ exceptions

This is a hack and should only be used for debugging. It works by wrapping
the C++ ABI __wrap___cxa_allocate_exception. The wrapper records a backtrace
and stores it in a global map. Later the stacktrace can be retrieved with
GetExceptionStacktraceStr.

This commit also adds handlers to pretty print uncaught exceptions and
signals.

* Use GetPrettyExceptionStr for all unhandled exceptions

* Use --enable-stacktraces in CI for linux32/linux64

* Register exception translators to pretty print exceptions in unit tests

* Catch and print python exceptions when stopping nodes

Otherwise the code at the bottom is never executed when nodes crash,
leading to no output of debug.log files on Travis.

* Remove now unneeded/unused TestCrash methods
2019-02-21 21:37:15 +03:00
..
data Fix DeserializeAndCheckBlockTest benchmark and store hashDevnetGenesisBlock in consensus (#1888) 2018-02-01 20:05:35 +03:00
.gitignore more bitcoin->dash 2016-03-04 12:09:03 +03:00
base58.cpp Merge #8675: Make copyright header lines uniform 2018-01-13 13:44:39 +01:00
bench_dash.cpp Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
bench.cpp Merge #9547: bench: Assert that division by zero is unreachable 2019-02-01 10:51:01 -06:00
bench.h Merge #9712: bench: Fix initialization order in registration 2018-01-23 09:24:27 +01:00
bls_dkg.cpp Move bls stuff from crypto/ to bls/ 2018-10-12 19:39:26 +02:00
bls.cpp Review fixes 2018-10-12 20:53:57 +02:00
ccoins_caching.cpp Backport changes to ccoins_caching.cpp which were skipped 2018-01-12 09:58:15 +01:00
checkblock.cpp Fix DeserializeAndCheckBlockTest benchmark and store hashDevnetGenesisBlock in consensus (#1888) 2018-02-01 20:05:35 +03:00
checkqueue.cpp Merge #9498: Basic CCheckQueue Benchmarks 2018-01-21 12:48:33 +01:00
coin_selection.cpp Merge #9281: Refactor: Remove using namespace <xxx> from bench/ & test/ sources 2018-01-18 07:33:44 +01:00
crypto_hash.cpp Add DSHA256 and X11 benchmarks, refactor names of other algo benchmarks to group them together (#1925) 2018-02-12 15:48:20 +03:00
ecdsa.cpp Add ECDSA benchmarks 2018-10-10 08:49:10 +02:00
Examples.cpp Backport Bitcoin PR#9260: Mrs Peacock in The Library with The Candlestick (killed main.{h,cpp}) (#1566) 2017-08-09 03:19:06 +03:00
lockedpool.cpp Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
mempool_eviction.cpp Merge #9548: Remove min reasonable fee 2019-02-05 13:40:31 -06:00
perf.cpp Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
perf.h Merge #9202: bench: Add support for measuring CPU cycles 2018-01-17 17:27:24 +01:00
rollingbloom.cpp Merge #7934: Improve rolling bloom filter performance and benchmark 2017-12-21 17:31:57 +01:00
string_cast.cpp Add string_cast benchmark (#2073) 2018-05-26 21:02:49 +03:00