Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Migrate all enumerators to venumerate() interface change | Tobias Brunner | 2017-05-26 | 1 | -2/+7 |
| | |||||
* | backtrace: Fix symbol lookup in dynamic symtab via libbfd | Tobias Brunner | 2014-10-14 | 1 | -0/+1 |
| | |||||
* | backtrace: Remove name checks after SymFromAddr() calls | Tobias Brunner | 2014-07-02 | 1 | -9/+5 |
| | | | | The Name member is an array whose address is always defined. | ||||
* | backtrace: Use GetModuleInformation/GetModuleFileNameEx directly on Win32 | Martin Willi | 2014-06-06 | 1 | -2/+10 |
| | | | | The K32 variants are actually needed on 64-bit only. | ||||
* | backtrace: Inline esc() helper, making it available to all build variants | Martin Willi | 2014-06-04 | 1 | -12/+12 |
| | |||||
* | backtrace: Support backtraces on Windows without DbgHelp | Martin Willi | 2014-06-04 | 1 | -27/+61 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While DbgHelp provides a convenient API to create backtraces, any executable linking against DbgHelp gets a more than a significant slow down. Further, it can only lookup global symbols, as it expects PDB files we can't produce with a MinGW build. With some core Kernel32.dll functionality, we can capture stack traces much faster. Together with the optional libbfd, we can print very fine backtraces. When --enable-bfd-backtraces is used on Windows, a libbfd.dll is required for the build. Such a DLL can be created from the binutils sources using: # build binutils with mingw... # extract archive members from binutils libraries x86_64-w64-mingw32-ar x $BINUTILS/bfd/.libs/libbfd.a x86_64-w64-mingw32-ar x $BINUTILS/intl/libintl.a x86_64-w64-mingw32-ar x $BINUTILS/libiberty/libiberty.a # create self-contained libbfd.a, with index x86_64-w64-mingw32-ar qs libbfd.a *.o # create DLL from static library x86_64-w64-mingw32-dlltool -e libbfd.o -l libbfd.lib libbfd.a x86_64-w64-mingw32-gcc -shared libbfd.a libbfd.o -o libbfd.dll | ||||
* | backtrace: Add DbgHelp based Windows support for creating/printing backtraces | Martin Willi | 2014-06-04 | 1 | -12/+195 |
| | |||||
* | backtrace: Support backtracing even if library is not initialized | Martin Willi | 2013-11-06 | 1 | -2/+2 |
| | | | | But of course backtracing must be initialized anyway using backtrace_init(). | ||||
* | backtrace: rename clone() method clashing with system call | Martin Willi | 2013-08-09 | 1 | -2/+2 |
| | | | | Fixes #376. | ||||
* | backtrace: add a clone() method | Martin Willi | 2013-07-10 | 1 | -7/+36 |
| | |||||
* | backtrace: use backtrace_symbols() only if we have backtrace() and dladdr() ↵ | Martin Willi | 2013-06-19 | 1 | -5/+16 |
| | | | | fails | ||||
* | backtrace: use atos instead of addr2line on OS X to resolve source lines | Martin Willi | 2013-05-06 | 1 | -3/+11 |
| | |||||
* | backtrace: add an alternative stack unwinding implementation using libunwind | Martin Willi | 2013-05-06 | 1 | -5/+34 |
| | |||||
* | esc() is only used if dladdr(3) is available5.0.3dr3 | Tobias Brunner | 2013-03-08 | 1 | -12/+13 |
| | |||||
* | Don't invoke addr2line if dladdr() did not yield a filename | Martin Willi | 2013-03-04 | 1 | -1/+1 |
| | |||||
* | backtrace_t.log() takes a NULL file pointer to log to registered dbg() hook | Martin Willi | 2013-03-04 | 1 | -31/+66 |
| | |||||
* | Don't use color escapes when printing backtraces to a non-TTY file | Martin Willi | 2013-03-04 | 1 | -11/+20 |
| | |||||
* | Moved data structures to new collections subfolder | Tobias Brunner | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | Compilation error fixed if dladdr is not available | Tobias Brunner | 2012-07-14 | 1 | -0/+6 |
| | |||||
* | Silence cast warning on 32-bit platforms | Martin Willi | 2012-07-13 | 1 | -1/+1 |
| | |||||
* | Don't set BFD_DECOMPRESS when building against older binutils | Martin Willi | 2012-07-13 | 1 | -0/+2 |
| | |||||
* | With --enable-bfd-backtraces, use binutils libbfd to resolve backtraces | Martin Willi | 2012-07-13 | 1 | -28/+272 |
| | | | | | | | | The invocation of addr2line to resolve backtrace source locations is slow and cumbersome. When using libbfd directly, we can eliminate the overhead of the process invocation. Even better, we can cache library symbol names, bringing wicked fast lookups. As a neat bonus, we can resolve static function names. | ||||
* | Added a convenience function to dump backtraces for gdb-less debugging | Martin Willi | 2012-05-21 | 1 | -0/+17 |
| | |||||
* | Added a frame enumerator to backtrace_t | Martin Willi | 2011-05-16 | 1 | -0/+39 |
| | |||||
* | Added an equals function to backtrace_t | Martin Willi | 2011-05-16 | 1 | -0/+25 |
| | |||||
* | Migrated backtrace_t to METHOD macro | Martin Willi | 2011-05-16 | 1 | -16/+11 |
| | |||||
* | Use %tx to print a value of type ptrdiff_t. | Tobias Brunner | 2011-04-14 | 1 | -1/+1 |
| | |||||
* | backtrace->contains_function takes multiple names, speeding up whitelist ↵ | Martin Willi | 2011-01-17 | 1 | -5/+9 |
| | | | | check drastically | ||||
* | Option to skip slow addr2line resolution in leak-detective | Martin Willi | 2010-05-20 | 1 | -19/+23 |
| | |||||
* | Store return value of getc() in an int to correctly test it against EOF | Martin Willi | 2009-10-22 | 1 | -1/+1 |
| | |||||
* | removed trailing spaces ([[:space:]]+$) | Martin Willi | 2009-09-04 | 1 | -10/+10 |
| | |||||
* | removing svn keyword $Id$ from all files | Tobias Brunner | 2009-04-30 | 1 | -2/+0 |
| | |||||
* | pluto uses the libstrongswan leak detective and a stripped-down version of ↵ | Andreas Steffen | 2009-04-16 | 1 | -0/+2 |
| | | | | library_t | ||||
* | fixed leak | Martin Willi | 2008-11-06 | 1 | -3/+7 |
| | | | | fixed build if !HAVE_BACKTRACE | ||||
* | separated backtrace functionality from leak_detective, used in | Martin Willi | 2008-11-05 | 1 | -0/+179 |
leak_detective mutex profiling signal handler |