aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/utils/backtrace.c
Commit message (Collapse)AuthorAgeFilesLines
* Migrate all enumerators to venumerate() interface changeTobias Brunner2017-05-261-2/+7
|
* backtrace: Fix symbol lookup in dynamic symtab via libbfdTobias Brunner2014-10-141-0/+1
|
* backtrace: Remove name checks after SymFromAddr() callsTobias Brunner2014-07-021-9/+5
| | | | The Name member is an array whose address is always defined.
* backtrace: Use GetModuleInformation/GetModuleFileNameEx directly on Win32Martin Willi2014-06-061-2/+10
| | | | The K32 variants are actually needed on 64-bit only.
* backtrace: Inline esc() helper, making it available to all build variantsMartin Willi2014-06-041-12/+12
|
* backtrace: Support backtraces on Windows without DbgHelpMartin Willi2014-06-041-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 backtracesMartin Willi2014-06-041-12/+195
|
* backtrace: Support backtracing even if library is not initializedMartin Willi2013-11-061-2/+2
| | | | But of course backtracing must be initialized anyway using backtrace_init().
* backtrace: rename clone() method clashing with system callMartin Willi2013-08-091-2/+2
| | | | Fixes #376.
* backtrace: add a clone() methodMartin Willi2013-07-101-7/+36
|
* backtrace: use backtrace_symbols() only if we have backtrace() and dladdr() ↵Martin Willi2013-06-191-5/+16
| | | | fails
* backtrace: use atos instead of addr2line on OS X to resolve source linesMartin Willi2013-05-061-3/+11
|
* backtrace: add an alternative stack unwinding implementation using libunwindMartin Willi2013-05-061-5/+34
|
* esc() is only used if dladdr(3) is available5.0.3dr3Tobias Brunner2013-03-081-12/+13
|
* Don't invoke addr2line if dladdr() did not yield a filenameMartin Willi2013-03-041-1/+1
|
* backtrace_t.log() takes a NULL file pointer to log to registered dbg() hookMartin Willi2013-03-041-31/+66
|
* Don't use color escapes when printing backtraces to a non-TTY fileMartin Willi2013-03-041-11/+20
|
* Moved data structures to new collections subfolderTobias Brunner2012-10-241-1/+1
|
* Compilation error fixed if dladdr is not availableTobias Brunner2012-07-141-0/+6
|
* Silence cast warning on 32-bit platformsMartin Willi2012-07-131-1/+1
|
* Don't set BFD_DECOMPRESS when building against older binutilsMartin Willi2012-07-131-0/+2
|
* With --enable-bfd-backtraces, use binutils libbfd to resolve backtracesMartin Willi2012-07-131-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 debuggingMartin Willi2012-05-211-0/+17
|
* Added a frame enumerator to backtrace_tMartin Willi2011-05-161-0/+39
|
* Added an equals function to backtrace_tMartin Willi2011-05-161-0/+25
|
* Migrated backtrace_t to METHOD macroMartin Willi2011-05-161-16/+11
|
* Use %tx to print a value of type ptrdiff_t.Tobias Brunner2011-04-141-1/+1
|
* backtrace->contains_function takes multiple names, speeding up whitelist ↵Martin Willi2011-01-171-5/+9
| | | | check drastically
* Option to skip slow addr2line resolution in leak-detectiveMartin Willi2010-05-201-19/+23
|
* Store return value of getc() in an int to correctly test it against EOFMartin Willi2009-10-221-1/+1
|
* removed trailing spaces ([[:space:]]+$)Martin Willi2009-09-041-10/+10
|
* removing svn keyword $Id$ from all filesTobias Brunner2009-04-301-2/+0
|
* pluto uses the libstrongswan leak detective and a stripped-down version of ↵Andreas Steffen2009-04-161-0/+2
| | | | library_t
* fixed leakMartin Willi2008-11-061-3/+7
| | | | fixed build if !HAVE_BACKTRACE
* separated backtrace functionality from leak_detective, used inMartin Willi2008-11-051-0/+179
leak_detective mutex profiling signal handler