Commit Graph

77 Commits

Author SHA1 Message Date
Antony Polukhin
c45c8ff0e4 Optimized printing stacktraces on Win 2017-01-03 14:11:30 +03:00
Antony Polukhin
053b9f5606 Typo fix for Win 2017-01-03 13:41:26 +03:00
Antony Polukhin
6de0fe088b Micro optimizations and bugfixes for Win 2017-01-03 13:27:15 +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
36061d4ef8 Move code around, prepare for optimizing the stack ostreaming operators 2017-01-03 11:59:55 +03:00
Antony Polukhin
7149a04002 Optimize frame printing 2017-01-03 00:06:20 +03:00
Antony Polukhin
5a9ba3342d Set lines count to zero on second failed attempt to get line number 2017-01-02 22:47:35 +03:00
Antony Polukhin
8f06ce9b3d Preparations for optimized streaming of frames and stacktraces 2017-01-02 21:15:25 +03:00
Antony Polukhin
60ac93f79f Fix [move]assignemnt operators 2016-12-26 22:20:08 +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
ec7abcdf68 Fixed MacOS examples 2016-12-26 22:11:23 +03:00
Antony Polukhin
9d1a2d652b Call CoUninitialize after all the COM methods were used 2016-12-17 11:41:55 +03:00
Antony Polukhin
b282f55342 Fix issues found by Udo Steinbach 2016-12-17 11:25:08 +03:00
Antony Polukhin
d747ab0fac Improve docs by adding more examples and Acknowledgements section, improve output for unwind backend 2016-12-10 22:10:08 +03:00
Antony Polukhin
13c3807674 More examples implemented and moved code around 2016-12-10 14:29:27 +03:00
Antony Polukhin
856bc476b7 Fix the test compilation (2) 2016-12-08 10:50:03 +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
6e01617dad Dropped dependency to the aligned_storage, fixed issue in linux backend with incorrect detection of end pointer and fix getting coverage in travis script 2016-12-03 21:24:55 +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
d4f8f64929 Fixed windows build and issue with returning incorrect frame address (now 0 retuned instead of running out of bounds) 2016-11-25 22:12:57 +03:00
Antony Polukhin
aff892356f Changed classname from frame_view to frame 2016-11-25 21:59:30 +03:00
Antony Polukhin
6f8cbefbf2 Cleanup to_hex_array.hpp 2016-11-25 21:57:26 +03:00
Antony Polukhin
c571f9a7d8 frame_view now has a public constructor from void pointer 2016-11-25 21:56:13 +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
58f49c9208 Get rid of reinterpret_cast 2016-11-24 21:41:00 +03:00
Antony Polukhin
589cb811e6 Get rid of multiple reinterpret_casts 2016-11-24 21:40:31 +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
b564087208 Make Linux version of detail::backtrace_holder look exactly as the Windows version 2016-11-24 09:34:49 +03:00
Antony Polukhin
87f0c76816 Attempt to fix Win test failures 2016-11-24 09:24:51 +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
32be7aefe0 Clenups and split stacktrace.hpp into files 2016-11-23 00:02:16 +03:00
Antony Polukhin
136680bd71 Fixed hash copying in assignemt operator 2016-11-22 23:47:38 +03:00
Antony Polukhin
91b6a8f115 Fix Win warnings 2016-11-22 22:46:55 +03:00
Antony Polukhin
d7c20e50b2 Fixing Windows linkage 2016-11-22 22:28:26 +03:00
Antony Polukhin
16214550fe Big refactoring to allow in the future to setup stacktrace depth 2016-11-22 22:02:03 +03:00
Antony Polukhin
b9cbcb48be Fix Windows compilation and improve examples 2016-11-17 22:39:06 +03:00
Antony Polukhin
468f7fc381 Implemented get_source_line() and get_source_file() for Windows backend. Fixed debug engine detection during build 2016-11-17 22:17:18 +03:00
Antony Polukhin
db56639833 Send source file and source line requests to the backend s 2016-11-17 22:12:39 +03:00
Antony Polukhin
4320fc2a14 Remove some of the reinterpret_casts 2016-11-16 22:07:02 +03:00
Antony Polukhin
b826c957a3 Fix win build (3) 2016-11-15 23:28:48 +03:00
Antony Polukhin
0c905ff5a2 Fix win build (2) 2016-11-15 23:17:28 +03:00
Antony Polukhin
8e98270361 Fix win build 2016-11-15 22:02:05 +03:00
Antony Polukhin
115c5db0a3 Follow Niall comments and reimplement win debugging in thread safe manner 2016-11-15 21:30:12 +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
8768a721b1 Doxyden output improved, improved docs and added more examples 2016-10-26 22:23:09 +03:00