Commit Graph

110 Commits

Author SHA1 Message Date
Antony Polukhin
1c6fa29299 Fix one more issue with MinGW tests 2017-03-01 23:25:28 +03:00
Antony Polukhin
4191419560 Fixing MinGW (3) 2017-02-25 23:24:48 +03:00
Antony Polukhin
7b6a8e84f7 MinGW fixes (2). Do not include unused headers 2017-02-25 23:09:36 +03:00
Antony Polukhin
b0e04ac94d Run MinGW tests too (thanks to Pavel Filinov for showing that appveyor ability) 2017-02-24 08:21:00 +03:00
Antony Polukhin
116dd872b8 Allow users to easily skip frames (API change), add more tests and update docs 2017-02-07 22:58:22 +03:00
Antony Polukhin
675ab7d65d Fix addr2line detection 2017-02-06 23:11:58 +03:00
Antony Polukhin
224750cbef Added more examples on safe_dump_to (shared memory example) and changed interface of safe dumping into the memory 2017-01-27 21:56:27 +03:00
Antony Polukhin
13fe06063b Added initial version of safe dumping 2017-01-19 21:59:37 +03:00
Antony Polukhin
c221f0c2dd Multiple minor fixes, improved docs, changed the example to use Boost.Exception 2017-01-13 22:36:25 +03:00
Antony Polukhin
1c5274f9fa Big refactoring: no more backends, only macro to enable additional functionality 2017-01-13 22:33:37 +03:00
Antony Polukhin
bd616a7249 Make a basic usecase the default one, add tests and create a target library for that 2017-01-13 22:31:03 +03:00
Antony Polukhin
85c31f691d Macro for enabling/disabling addr2line usage 2017-01-08 12:05:45 +03:00
Antony Polukhin
b7bf4b5932 Use libbacktrace, added more tests 2017-01-08 00:00:17 +03:00
Antony Polukhin
a2431640b9 Move around code in test to make Coveralls happy and produce more reliable coverage results 2017-01-03 16:09:02 +03:00
Antony Polukhin
34306df187 Added more tests with long stacktraces 2017-01-03 14:42:31 +03:00
Antony Polukhin
3f543731fa Added tests with long stacktraces 2017-01-03 14:36:01 +03:00
Antony Polukhin
d6c1350952 Improve backtrace formatting and output more information into the backtrace when source file info is unawailable 2017-01-03 12:58:28 +03:00
Antony Polukhin
898380d622 Relax one of the tests 2017-01-02 23:10:52 +03:00
Antony Polukhin
0b7fae6e48 Relax one of the tests: looks like ::backtrace() call sometimes outputs itself into the stacktrace 2016-12-26 22:47:11 +03:00
Antony Polukhin
16ef077fa4 Fix unsigned overflow in basic_stacktrace constructor, improve some tests, make sure that skipping 2 frames does not show internals to the user 2016-12-26 22:18:27 +03:00
Antony Polukhin
2893578446 detail::backend class does not own data any more 2016-12-26 22:15:53 +03:00
Antony Polukhin
99e4b53742 Started reimplementing stacktrace with Allocator 2016-12-26 22:12:29 +03:00
Antony Polukhin
7fd30ad905 Improve tests coverage 2016-12-10 02:44:09 +03:00
Antony Polukhin
c6bdf49f08 Better testing of examples, better tests coverage 2016-12-10 02:39:39 +03:00
Antony Polukhin
d8ff16f7a9 More tests 2016-12-10 01:39:04 +03:00
Antony Polukhin
dff9ba4074 Fix the test compilation (3) 2016-12-08 10:55:31 +03:00
Antony Polukhin
4f37ad05cd Fix the test compilation 2016-12-08 10:44:06 +03:00
Antony Polukhin
903a1dc081 Allow to setup max trace length, added more tests, added meta folder and updated the Jamfali for building docs 2016-12-08 10:02:28 +03:00
Antony Polukhin
4ce841ef65 Code deduplicated and simplified, added empty() functions and some explicit bool operators, speed-up and improved the output of the ostream operators, improved tests coverage 2016-12-01 09:55:17 +03:00
Antony Polukhin
fd513391ca Async signal safe backend implmented and notes about async-safety were added to the docs. 2016-11-30 10:47:58 +03:00
Antony Polukhin
aff892356f Changed classname from frame_view to frame 2016-11-25 21:59:30 +03:00
Antony Polukhin
b35614a7a5 Removed libunwind backend and forced all the backends to return source info from void pointer 2016-11-25 21:50:43 +03:00
Antony Polukhin
be3c2fa322 Remove debug line from test 2016-11-24 21:38:33 +03:00
Antony Polukhin
55e7b1981b Hand-write popen/pclose and close the strerr in the child process 2016-11-24 21:37:47 +03:00
Antony Polukhin
48eba3030d Make the linux backend print location in source file, extract function names even if they have no visibility, fix warnings 2016-11-24 21:36:32 +03:00
Antony Polukhin
fad2a7dc81 Added some thoughts on getting source file name and code lines for functions 2016-11-24 09:15:24 +03:00
Antony Polukhin
aaef5f134f Fix minor issues that are seen by tests and appeared after refactoring 2016-11-23 22:55:39 +03:00
Antony Polukhin
4da524a601 Debug printing enabled 2016-11-22 23:12:32 +03:00
Antony Polukhin
880252b1f0 Attempt to speedup AppVeyor (2) 2016-11-18 00:57:00 +03:00
Antony Polukhin
0df83bcbc9 Attempt to speedup AppVeyor 2016-11-18 00:55:35 +03:00
Antony Polukhin
d5ca2411cd Fix tests and TravisCI script 2016-11-17 22:49:49 +03:00
Antony Polukhin
e793933aa4 More tests for frames and noop backend 2016-10-29 09:31:50 +03:00
Antony Polukhin
4c30f8e9cb frame_view and iterator are not nested classes any more, reordered some functions to make reference documentation look better 2016-10-26 22:25:16 +03:00
Antony Polukhin
8fa8c93fdb Added operators for frame_view class, libunwind backend now stores addresses 2016-10-26 22:21:46 +03:00
Antony Polukhin
6c1fd6cba1 Improved docs, added more tests, made a frame_view class from class frame 2016-10-26 22:20:10 +03:00
Antony Polukhin
e16e1a4a60 Do not use operator[] to avoid dangling references 2016-10-25 21:53:48 +03:00
Antony Polukhin
b8dcd2b553 Working version of iterator and frame 2016-10-25 21:52:29 +03:00
Antony Polukhin
bd59ec8bef Strted implmenting the iterators and frame class 2016-10-25 21:51:27 +03:00
Antony Polukhin
ab6cb7483e Added support for hashing 2016-10-12 20:26:09 +03:00
Antony Polukhin
2440061676 Output more information in stacktraces (instruction offsets and function addressees) when apropriate 2016-10-12 20:23:54 +03:00
Antony Polukhin
b75dfd361c Added comparison operators and tests for them 2016-10-12 20:22:24 +03:00
Antony Polukhin
0963de1ff7 More examples, added content to 'getting started' section in docs, improved some tests 2016-09-14 22:01:49 +03:00
Antony Polukhin
bd07777485 More examples and removed inclusion of some unused headers 2016-09-14 22:00:19 +03:00
Antony Polukhin
76cfb88fc0 Fixes for linkage and tests 2016-09-14 21:58:15 +03:00
Antony Polukhin
326d931bb0 Now header-only by default, fixes for tests and builds, better backend auto-detection 2016-09-13 00:13:02 +03:00
Antony Polukhin
6522b60c72 Added noop backend. Do not skip frames in backends anymore, because it is impossible to guess the inlining heuristics on different compilers. Fixed tests, added more tests, simplified code, improved docs 2016-09-08 21:42:43 +03:00
Antony Polukhin
e798527df8 Fixed libunwind exception safety in assignments and construction, changed tests to use boost's lightweight test infrastructure, code cleanup, include guards added 2016-09-08 21:23:43 +03:00
Antony Polukhin
2d6c03e7dc Fixed libunwind backend, added docs, fixed tests and compilation, changed return type of stacktrace::operator[] 2016-09-08 08:18:18 +03:00
Antony Polukhin
73633bf76b Added CI and coverage 2016-06-04 21:08:37 +03:00
Antony Polukhin
b8d1ff2730 Initial version of stacktrace library 2016-06-04 15:51:28 +03:00