SYMBOL INDEX (327 symbols across 12 files) FILE: conanfile.py class BackwardCpp (line 4) | class BackwardCpp(ConanFile): method cmake_option (line 31) | def cmake_option(self, option, prefix = ''): method build (line 34) | def build(self): method package (line 49) | def package(self): method package_info (line 56) | def package_info(self): FILE: include/backward_ros/backward.hpp type backward (line 407) | namespace backward { type details (line 408) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 420) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 431) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type system_tag (line 442) | namespace system_tag { type linux_tag (line 443) | struct linux_tag type darwin_tag (line 445) | struct darwin_tag type windows_tag (line 446) | struct windows_tag type unknown_tag (line 447) | struct unknown_tag type trace_resolver_tag (line 462) | namespace trace_resolver_tag { type libdw (line 464) | struct libdw type libbfd (line 465) | struct libbfd type libdwarf (line 466) | struct libdwarf type backtrace_symbol (line 467) | struct backtrace_symbol type backtrace_symbol (line 481) | struct backtrace_symbol type pdb_symbol (line 489) | struct pdb_symbol type details (line 498) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type Trace (line 657) | struct Trace { method Trace (line 661) | Trace() : addr(nullptr), idx(0) {} method Trace (line 663) | explicit Trace(void *_addr, size_t _idx) : addr(_addr), idx(_idx) {} type ResolvedTrace (line 666) | struct ResolvedTrace : public Trace { type SourceLoc (line 668) | struct SourceLoc { method SourceLoc (line 674) | SourceLoc() : line(0), col(0) {} method ResolvedTrace (line 703) | ResolvedTrace() : Trace() {} method ResolvedTrace (line 704) | ResolvedTrace(const Trace &mini_trace) : Trace(mini_trace) {} class StackTraceImpl (line 710) | class StackTraceImpl { method size (line 712) | size_t size() const { return 0; } method Trace (line 713) | Trace operator[](size_t) const { return Trace(); } method load_here (line 714) | size_t load_here(size_t = 0) { return 0; } method load_from (line 715) | size_t load_from(void *, size_t = 0, void * = nullptr, void * = null... method thread_id (line 718) | size_t thread_id() const { return 0; } method skip_n_firsts (line 719) | void skip_n_firsts(size_t) {} class StackTraceImplBase (line 722) | class StackTraceImplBase { method StackTraceImplBase (line 724) | StackTraceImplBase() method thread_id (line 727) | size_t thread_id() const { return _thread_id; } method skip_n_firsts (line 729) | void skip_n_firsts(size_t n) { _skip = n; } method load_thread_info (line 732) | void load_thread_info() { method set_context (line 753) | void set_context(void *context) { _context = context; } method set_error_addr (line 756) | void set_error_addr(void *error_addr) { _error_addr = error_addr; } method skip_n_firsts (line 759) | size_t skip_n_firsts() const { return _skip; } class StackTraceImplHolder (line 768) | class StackTraceImplHolder : public StackTraceImplBase { method size (line 770) | size_t size() const { method Trace (line 775) | Trace operator[](size_t idx) const { type details (line 794) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { class StackTraceImpl (line 851) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 895) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1072) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1110) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTrace (line 1207) | class StackTrace : public StackTraceImpl {} class TraceResolverImplBase (line 1211) | class TraceResolverImplBase { method load_addresses (line 1215) | virtual void load_addresses(void *const*addresses, int address_count) { method load_stacktrace (line 1220) | void load_stacktrace(ST &st) { method ResolvedTrace (line 1224) | virtual ResolvedTrace resolve(ResolvedTrace t) { return t; } method demangle (line 1227) | std::string demangle(const char *funcname) { class TraceResolverImpl (line 1235) | class TraceResolverImpl class TraceResolverImpl (line 1239) | class TraceResolverImpl class TraceResolverLinuxBase (line 1246) | class TraceResolverLinuxBase : public TraceResolverImplBase { method TraceResolverLinuxBase (line 1248) | TraceResolverLinuxBase() method resolve_exec_path (line 1250) | std::string resolve_exec_path(Dl_info &symbol_info) const { method get_argv0 (line 1277) | static std::string get_argv0() { method read_symlink (line 1284) | static std::string read_symlink(std::string const &symlink_path) { class TraceResolverLinuxImpl (line 1306) | class TraceResolverLinuxImpl class TraceResolverLinuxImpl (line 1311) | class TraceResolverLinuxImpl method load_addresses (line 1314) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 1321) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverLinuxImpl (line 1353) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1356) | TraceResolverLinuxImpl() : _bfd_loaded(false) {} method ResolvedTrace (line 1358) | ResolvedTrace resolve(ResolvedTrace trace) override { type bfd_fileobject (line 1551) | struct bfd_fileobject { method bfd_fileobject (line 1561) | bfd_fileobject *load_object_with_bfd(const std::string &filename_obj... type find_sym_result (line 1631) | struct find_sym_result { type find_sym_context (line 1638) | struct find_sym_context { method find_sym_result (line 1646) | find_sym_result find_symbol_details(bfd_fileobject *fobj, void *addr, method find_in_section_trampoline (line 1659) | static void find_in_section_trampoline(bfd *, asection *section, voi... method find_in_section (line 1667) | void find_in_section(bfd_vma addr, bfd_vma base_addr, bfd_fileobject... method backtrace_inliners (line 1718) | ResolvedTrace::source_locs_t method cstrings_eq (line 1751) | bool cstrings_eq(const char *a, const char *b) { class TraceResolverLinuxImpl (line 1763) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1766) | TraceResolverLinuxImpl() : _dwfl_handle_initialized(false) {} method ResolvedTrace (line 1768) | ResolvedTrace resolve(ResolvedTrace trace) override { type inliners_search_cb (line 1927) | struct inliners_search_cb { method inliners_search_cb (line 1959) | inliners_search_cb(ResolvedTrace &t) : trace(t) {} method die_has_pc (line 1962) | static bool die_has_pc(Dwarf_Die *die, Dwarf_Addr pc) { method Dwarf_Die (line 1993) | static Dwarf_Die *find_fundie_by_pc(Dwarf_Die *parent_die, Dwarf_Add... method deep_first_search_by_pc (line 2028) | static bool deep_first_search_by_pc(Dwarf_Die *parent_die, Dwarf_Add... class TraceResolverLinuxImpl (line 2090) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 2093) | TraceResolverLinuxImpl() : _dwarf_loaded(false) {} method ResolvedTrace (line 2095) | ResolvedTrace resolve(ResolvedTrace trace) override { method close_dwarf (line 2235) | static int close_dwarf(Dwarf_Debug dwarf) { type die_cache_entry (line 2256) | struct die_cache_entry { method isEmpty (line 2263) | inline bool isEmpty() { method die_cache_entry (line 2268) | die_cache_entry() : line_buffer(0), line_count(0), line_context(0) {} type dwarf_fileobject (line 2281) | struct dwarf_fileobject { method cstrings_eq (line 2296) | static bool cstrings_eq(const char *a, const char *b) { method dwarf_fileobject (line 2303) | dwarf_fileobject &load_object_with_dwarf(const std::string &filename... function die_cache_entry (line 2470) | die_cache_entry &get_die_cache(dwarf_fileobject &fobj, Dwarf_Die die) { function Dwarf_Die (line 2586) | static Dwarf_Die get_referenced_die(Dwarf_Debug dwarf, Dwarf_Die die, function get_referenced_die_name (line 2611) | static std::string get_referenced_die_name(Dwarf_Debug dwarf, Dwarf_Di... function Dwarf_Die (line 2634) | static Dwarf_Die get_spec_die(dwarf_fileobject &fobj, Dwarf_Die die) { function die_has_pc (line 2658) | static bool die_has_pc(dwarf_fileobject &fobj, Dwarf_Die die, Dwarf_Ad... function get_type (line 2744) | static void get_type(Dwarf_Debug dwarf, Dwarf_Die die, std::string &ty... function get_type_by_signature (line 2766) | static std::string get_type_by_signature(Dwarf_Debug dwarf, Dwarf_Die ... type type_context_t (line 2827) | struct type_context_t { method type_context_t (line 2834) | type_context_t() function set_parameter_string (line 2843) | static void set_parameter_string(dwarf_fileobject &fobj, Dwarf_Die die, function set_function_parameters (line 2957) | static void set_function_parameters(std::string &function_name, type inliners_search_cb (line 3056) | struct inliners_search_cb { method inliners_search_cb (line 3159) | inliners_search_cb(ResolvedTrace &t, dwarf_fileobject &f, Dwarf_Die c) function Dwarf_Die (line 3163) | static Dwarf_Die find_fundie_by_pc(dwarf_fileobject &fobj, function deep_first_search_by_pc (line 3228) | static bool deep_first_search_by_pc(dwarf_fileobject &fobj, function die_call_file (line 3315) | static std::string die_call_file(Dwarf_Debug dwarf, Dwarf_Die die, function Dwarf_Die (line 3350) | Dwarf_Die find_die(dwarf_fileobject &fobj, Dwarf_Addr addr) { class TraceResolverImpl (line 3462) | class TraceResolverImpl class TraceResolverDarwinImpl (line 3469) | class TraceResolverDarwinImpl class TraceResolverDarwinImpl (line 3472) | class TraceResolverDarwinImpl method load_addresses (line 3475) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 3482) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverImpl (line 3546) | class TraceResolverImpl type module_data (line 3557) | struct module_data { class get_mod_info (line 3564) | class get_mod_info { method get_mod_info (line 3569) | get_mod_info(HANDLE h) : process(h) {} method module_data (line 3571) | module_data operator()(HMODULE module) { class TraceResolverImpl (line 3592) | class TraceResolverImpl method TraceResolverImpl (line 3595) | TraceResolverImpl() { type symbol_t (line 3619) | struct symbol_t { method ResolvedTrace (line 3626) | ResolvedTrace resolve(ResolvedTrace t) override { method DWORD (line 3668) | DWORD machine_type() const { return image_type; } class TraceResolver (line 3676) | class TraceResolver : public TraceResolverImplis_open(); } method lines_t (line 3704) | lines_t &get_lines(unsigned line_start, unsigned line_count, lines_t... method lines_t (line 3754) | lines_t get_lines(unsigned line_start, unsigned line_count) { type not_isspace (line 3761) | struct not_isspace { type not_isempty (line 3766) | struct not_isempty { method swap (line 3773) | void swap(SourceFile &b) { _file.swap(b._file); } method SourceFile (line 3776) | SourceFile(SourceFile &&from) : _file(nullptr) { swap(from); } method SourceFile (line 3777) | SourceFile &operator=(SourceFile &&from) { method SourceFile (line 3782) | explicit SourceFile(const SourceFile &from) { method SourceFile (line 3786) | SourceFile &operator=(const SourceFile &from) { method get_paths_from_env_variable_impl (line 3797) | std::vector get_paths_from_env_variable_impl() { method SourceFile (line 3812) | SourceFile(const SourceFile &) = delete; method SourceFile (line 3813) | SourceFile &operator=(const SourceFile &) = delete; class SnippetFactory (line 3817) | class SnippetFactory { method lines_t (line 3821) | lines_t get_snippet(const std::string &filename, unsigned line_start, method lines_t (line 3829) | lines_t get_combined_snippet(const std::string &filename_a, unsigned... method lines_t (line 3841) | lines_t get_coalesced_snippet(const std::string &filename, unsigned ... method SourceFile (line 3863) | SourceFile &get_src_file(const std::string &filename) { type ColorMode (line 3876) | namespace ColorMode { type type (line 3877) | enum type { automatic, never, always } class cfile_streambuf (line 3880) | class cfile_streambuf : public std::streambuf { method cfile_streambuf (line 3882) | cfile_streambuf(FILE *_sink) : sink(_sink) {} method int_type (line 3883) | int_type underflow() override { return traits_type::eof(); } method int_type (line 3884) | int_type overflow(int_type ch) override { method xsputn (line 3891) | std::streamsize xsputn(const char_type *s, std::streamsize count) ov... method cfile_streambuf (line 3898) | cfile_streambuf(const cfile_streambuf &) = delete; method cfile_streambuf (line 3899) | cfile_streambuf &operator=(const cfile_streambuf &) = delete; type Color (line 3913) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3917) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} type Color (line 3954) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3958) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} class Printer (line 3968) | class Printer { method Printer (line 3977) | Printer() method FILE (line 3981) | FILE *print(ST &st, FILE *fp = stderr) { method FILE (line 3998) | FILE *print(IT begin, IT end, FILE *fp = stderr, size_t thread_id = ... method TraceResolver (line 4016) | TraceResolver const &resolver() const { return _resolver; } method print_stacktrace (line 4023) | void print_stacktrace(ST &st, std::ostream &os, Colorize &colorize) { method print_stacktrace (line 4032) | void print_stacktrace(IT begin, IT end, std::ostream &os, size_t thr... method print_header (line 4040) | void print_header(std::ostream &os, size_t thread_id) { method print_trace (line 4048) | void print_trace(std::ostream &os, const ResolvedTrace &trace, method print_snippet (line 4086) | void print_snippet(std::ostream &os, const char *indent, method print_source_loc (line 4110) | void print_source_loc(std::ostream &os, const char *indent, class SignalHandling (line 4127) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4272) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4446) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } type backward (line 419) | namespace backward { type details (line 408) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 420) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 431) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type system_tag (line 442) | namespace system_tag { type linux_tag (line 443) | struct linux_tag type darwin_tag (line 445) | struct darwin_tag type windows_tag (line 446) | struct windows_tag type unknown_tag (line 447) | struct unknown_tag type trace_resolver_tag (line 462) | namespace trace_resolver_tag { type libdw (line 464) | struct libdw type libbfd (line 465) | struct libbfd type libdwarf (line 466) | struct libdwarf type backtrace_symbol (line 467) | struct backtrace_symbol type backtrace_symbol (line 481) | struct backtrace_symbol type pdb_symbol (line 489) | struct pdb_symbol type details (line 498) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type Trace (line 657) | struct Trace { method Trace (line 661) | Trace() : addr(nullptr), idx(0) {} method Trace (line 663) | explicit Trace(void *_addr, size_t _idx) : addr(_addr), idx(_idx) {} type ResolvedTrace (line 666) | struct ResolvedTrace : public Trace { type SourceLoc (line 668) | struct SourceLoc { method SourceLoc (line 674) | SourceLoc() : line(0), col(0) {} method ResolvedTrace (line 703) | ResolvedTrace() : Trace() {} method ResolvedTrace (line 704) | ResolvedTrace(const Trace &mini_trace) : Trace(mini_trace) {} class StackTraceImpl (line 710) | class StackTraceImpl { method size (line 712) | size_t size() const { return 0; } method Trace (line 713) | Trace operator[](size_t) const { return Trace(); } method load_here (line 714) | size_t load_here(size_t = 0) { return 0; } method load_from (line 715) | size_t load_from(void *, size_t = 0, void * = nullptr, void * = null... method thread_id (line 718) | size_t thread_id() const { return 0; } method skip_n_firsts (line 719) | void skip_n_firsts(size_t) {} class StackTraceImplBase (line 722) | class StackTraceImplBase { method StackTraceImplBase (line 724) | StackTraceImplBase() method thread_id (line 727) | size_t thread_id() const { return _thread_id; } method skip_n_firsts (line 729) | void skip_n_firsts(size_t n) { _skip = n; } method load_thread_info (line 732) | void load_thread_info() { method set_context (line 753) | void set_context(void *context) { _context = context; } method set_error_addr (line 756) | void set_error_addr(void *error_addr) { _error_addr = error_addr; } method skip_n_firsts (line 759) | size_t skip_n_firsts() const { return _skip; } class StackTraceImplHolder (line 768) | class StackTraceImplHolder : public StackTraceImplBase { method size (line 770) | size_t size() const { method Trace (line 775) | Trace operator[](size_t idx) const { type details (line 794) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { class StackTraceImpl (line 851) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 895) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1072) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1110) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTrace (line 1207) | class StackTrace : public StackTraceImpl {} class TraceResolverImplBase (line 1211) | class TraceResolverImplBase { method load_addresses (line 1215) | virtual void load_addresses(void *const*addresses, int address_count) { method load_stacktrace (line 1220) | void load_stacktrace(ST &st) { method ResolvedTrace (line 1224) | virtual ResolvedTrace resolve(ResolvedTrace t) { return t; } method demangle (line 1227) | std::string demangle(const char *funcname) { class TraceResolverImpl (line 1235) | class TraceResolverImpl class TraceResolverImpl (line 1239) | class TraceResolverImpl class TraceResolverLinuxBase (line 1246) | class TraceResolverLinuxBase : public TraceResolverImplBase { method TraceResolverLinuxBase (line 1248) | TraceResolverLinuxBase() method resolve_exec_path (line 1250) | std::string resolve_exec_path(Dl_info &symbol_info) const { method get_argv0 (line 1277) | static std::string get_argv0() { method read_symlink (line 1284) | static std::string read_symlink(std::string const &symlink_path) { class TraceResolverLinuxImpl (line 1306) | class TraceResolverLinuxImpl class TraceResolverLinuxImpl (line 1311) | class TraceResolverLinuxImpl method load_addresses (line 1314) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 1321) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverLinuxImpl (line 1353) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1356) | TraceResolverLinuxImpl() : _bfd_loaded(false) {} method ResolvedTrace (line 1358) | ResolvedTrace resolve(ResolvedTrace trace) override { type bfd_fileobject (line 1551) | struct bfd_fileobject { method bfd_fileobject (line 1561) | bfd_fileobject *load_object_with_bfd(const std::string &filename_obj... type find_sym_result (line 1631) | struct find_sym_result { type find_sym_context (line 1638) | struct find_sym_context { method find_sym_result (line 1646) | find_sym_result find_symbol_details(bfd_fileobject *fobj, void *addr, method find_in_section_trampoline (line 1659) | static void find_in_section_trampoline(bfd *, asection *section, voi... method find_in_section (line 1667) | void find_in_section(bfd_vma addr, bfd_vma base_addr, bfd_fileobject... method backtrace_inliners (line 1718) | ResolvedTrace::source_locs_t method cstrings_eq (line 1751) | bool cstrings_eq(const char *a, const char *b) { class TraceResolverLinuxImpl (line 1763) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1766) | TraceResolverLinuxImpl() : _dwfl_handle_initialized(false) {} method ResolvedTrace (line 1768) | ResolvedTrace resolve(ResolvedTrace trace) override { type inliners_search_cb (line 1927) | struct inliners_search_cb { method inliners_search_cb (line 1959) | inliners_search_cb(ResolvedTrace &t) : trace(t) {} method die_has_pc (line 1962) | static bool die_has_pc(Dwarf_Die *die, Dwarf_Addr pc) { method Dwarf_Die (line 1993) | static Dwarf_Die *find_fundie_by_pc(Dwarf_Die *parent_die, Dwarf_Add... method deep_first_search_by_pc (line 2028) | static bool deep_first_search_by_pc(Dwarf_Die *parent_die, Dwarf_Add... class TraceResolverLinuxImpl (line 2090) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 2093) | TraceResolverLinuxImpl() : _dwarf_loaded(false) {} method ResolvedTrace (line 2095) | ResolvedTrace resolve(ResolvedTrace trace) override { method close_dwarf (line 2235) | static int close_dwarf(Dwarf_Debug dwarf) { type die_cache_entry (line 2256) | struct die_cache_entry { method isEmpty (line 2263) | inline bool isEmpty() { method die_cache_entry (line 2268) | die_cache_entry() : line_buffer(0), line_count(0), line_context(0) {} type dwarf_fileobject (line 2281) | struct dwarf_fileobject { method cstrings_eq (line 2296) | static bool cstrings_eq(const char *a, const char *b) { method dwarf_fileobject (line 2303) | dwarf_fileobject &load_object_with_dwarf(const std::string &filename... function die_cache_entry (line 2470) | die_cache_entry &get_die_cache(dwarf_fileobject &fobj, Dwarf_Die die) { function Dwarf_Die (line 2586) | static Dwarf_Die get_referenced_die(Dwarf_Debug dwarf, Dwarf_Die die, function get_referenced_die_name (line 2611) | static std::string get_referenced_die_name(Dwarf_Debug dwarf, Dwarf_Di... function Dwarf_Die (line 2634) | static Dwarf_Die get_spec_die(dwarf_fileobject &fobj, Dwarf_Die die) { function die_has_pc (line 2658) | static bool die_has_pc(dwarf_fileobject &fobj, Dwarf_Die die, Dwarf_Ad... function get_type (line 2744) | static void get_type(Dwarf_Debug dwarf, Dwarf_Die die, std::string &ty... function get_type_by_signature (line 2766) | static std::string get_type_by_signature(Dwarf_Debug dwarf, Dwarf_Die ... type type_context_t (line 2827) | struct type_context_t { method type_context_t (line 2834) | type_context_t() function set_parameter_string (line 2843) | static void set_parameter_string(dwarf_fileobject &fobj, Dwarf_Die die, function set_function_parameters (line 2957) | static void set_function_parameters(std::string &function_name, type inliners_search_cb (line 3056) | struct inliners_search_cb { method inliners_search_cb (line 3159) | inliners_search_cb(ResolvedTrace &t, dwarf_fileobject &f, Dwarf_Die c) function Dwarf_Die (line 3163) | static Dwarf_Die find_fundie_by_pc(dwarf_fileobject &fobj, function deep_first_search_by_pc (line 3228) | static bool deep_first_search_by_pc(dwarf_fileobject &fobj, function die_call_file (line 3315) | static std::string die_call_file(Dwarf_Debug dwarf, Dwarf_Die die, function Dwarf_Die (line 3350) | Dwarf_Die find_die(dwarf_fileobject &fobj, Dwarf_Addr addr) { class TraceResolverImpl (line 3462) | class TraceResolverImpl class TraceResolverDarwinImpl (line 3469) | class TraceResolverDarwinImpl class TraceResolverDarwinImpl (line 3472) | class TraceResolverDarwinImpl method load_addresses (line 3475) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 3482) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverImpl (line 3546) | class TraceResolverImpl type module_data (line 3557) | struct module_data { class get_mod_info (line 3564) | class get_mod_info { method get_mod_info (line 3569) | get_mod_info(HANDLE h) : process(h) {} method module_data (line 3571) | module_data operator()(HMODULE module) { class TraceResolverImpl (line 3592) | class TraceResolverImpl method TraceResolverImpl (line 3595) | TraceResolverImpl() { type symbol_t (line 3619) | struct symbol_t { method ResolvedTrace (line 3626) | ResolvedTrace resolve(ResolvedTrace t) override { method DWORD (line 3668) | DWORD machine_type() const { return image_type; } class TraceResolver (line 3676) | class TraceResolver : public TraceResolverImplis_open(); } method lines_t (line 3704) | lines_t &get_lines(unsigned line_start, unsigned line_count, lines_t... method lines_t (line 3754) | lines_t get_lines(unsigned line_start, unsigned line_count) { type not_isspace (line 3761) | struct not_isspace { type not_isempty (line 3766) | struct not_isempty { method swap (line 3773) | void swap(SourceFile &b) { _file.swap(b._file); } method SourceFile (line 3776) | SourceFile(SourceFile &&from) : _file(nullptr) { swap(from); } method SourceFile (line 3777) | SourceFile &operator=(SourceFile &&from) { method SourceFile (line 3782) | explicit SourceFile(const SourceFile &from) { method SourceFile (line 3786) | SourceFile &operator=(const SourceFile &from) { method get_paths_from_env_variable_impl (line 3797) | std::vector get_paths_from_env_variable_impl() { method SourceFile (line 3812) | SourceFile(const SourceFile &) = delete; method SourceFile (line 3813) | SourceFile &operator=(const SourceFile &) = delete; class SnippetFactory (line 3817) | class SnippetFactory { method lines_t (line 3821) | lines_t get_snippet(const std::string &filename, unsigned line_start, method lines_t (line 3829) | lines_t get_combined_snippet(const std::string &filename_a, unsigned... method lines_t (line 3841) | lines_t get_coalesced_snippet(const std::string &filename, unsigned ... method SourceFile (line 3863) | SourceFile &get_src_file(const std::string &filename) { type ColorMode (line 3876) | namespace ColorMode { type type (line 3877) | enum type { automatic, never, always } class cfile_streambuf (line 3880) | class cfile_streambuf : public std::streambuf { method cfile_streambuf (line 3882) | cfile_streambuf(FILE *_sink) : sink(_sink) {} method int_type (line 3883) | int_type underflow() override { return traits_type::eof(); } method int_type (line 3884) | int_type overflow(int_type ch) override { method xsputn (line 3891) | std::streamsize xsputn(const char_type *s, std::streamsize count) ov... method cfile_streambuf (line 3898) | cfile_streambuf(const cfile_streambuf &) = delete; method cfile_streambuf (line 3899) | cfile_streambuf &operator=(const cfile_streambuf &) = delete; type Color (line 3913) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3917) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} type Color (line 3954) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3958) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} class Printer (line 3968) | class Printer { method Printer (line 3977) | Printer() method FILE (line 3981) | FILE *print(ST &st, FILE *fp = stderr) { method FILE (line 3998) | FILE *print(IT begin, IT end, FILE *fp = stderr, size_t thread_id = ... method TraceResolver (line 4016) | TraceResolver const &resolver() const { return _resolver; } method print_stacktrace (line 4023) | void print_stacktrace(ST &st, std::ostream &os, Colorize &colorize) { method print_stacktrace (line 4032) | void print_stacktrace(IT begin, IT end, std::ostream &os, size_t thr... method print_header (line 4040) | void print_header(std::ostream &os, size_t thread_id) { method print_trace (line 4048) | void print_trace(std::ostream &os, const ResolvedTrace &trace, method print_snippet (line 4086) | void print_snippet(std::ostream &os, const char *indent, method print_source_loc (line 4110) | void print_source_loc(std::ostream &os, const char *indent, class SignalHandling (line 4127) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4272) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4446) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } type backward (line 430) | namespace backward { type details (line 408) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 420) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 431) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type system_tag (line 442) | namespace system_tag { type linux_tag (line 443) | struct linux_tag type darwin_tag (line 445) | struct darwin_tag type windows_tag (line 446) | struct windows_tag type unknown_tag (line 447) | struct unknown_tag type trace_resolver_tag (line 462) | namespace trace_resolver_tag { type libdw (line 464) | struct libdw type libbfd (line 465) | struct libbfd type libdwarf (line 466) | struct libdwarf type backtrace_symbol (line 467) | struct backtrace_symbol type backtrace_symbol (line 481) | struct backtrace_symbol type pdb_symbol (line 489) | struct pdb_symbol type details (line 498) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type Trace (line 657) | struct Trace { method Trace (line 661) | Trace() : addr(nullptr), idx(0) {} method Trace (line 663) | explicit Trace(void *_addr, size_t _idx) : addr(_addr), idx(_idx) {} type ResolvedTrace (line 666) | struct ResolvedTrace : public Trace { type SourceLoc (line 668) | struct SourceLoc { method SourceLoc (line 674) | SourceLoc() : line(0), col(0) {} method ResolvedTrace (line 703) | ResolvedTrace() : Trace() {} method ResolvedTrace (line 704) | ResolvedTrace(const Trace &mini_trace) : Trace(mini_trace) {} class StackTraceImpl (line 710) | class StackTraceImpl { method size (line 712) | size_t size() const { return 0; } method Trace (line 713) | Trace operator[](size_t) const { return Trace(); } method load_here (line 714) | size_t load_here(size_t = 0) { return 0; } method load_from (line 715) | size_t load_from(void *, size_t = 0, void * = nullptr, void * = null... method thread_id (line 718) | size_t thread_id() const { return 0; } method skip_n_firsts (line 719) | void skip_n_firsts(size_t) {} class StackTraceImplBase (line 722) | class StackTraceImplBase { method StackTraceImplBase (line 724) | StackTraceImplBase() method thread_id (line 727) | size_t thread_id() const { return _thread_id; } method skip_n_firsts (line 729) | void skip_n_firsts(size_t n) { _skip = n; } method load_thread_info (line 732) | void load_thread_info() { method set_context (line 753) | void set_context(void *context) { _context = context; } method set_error_addr (line 756) | void set_error_addr(void *error_addr) { _error_addr = error_addr; } method skip_n_firsts (line 759) | size_t skip_n_firsts() const { return _skip; } class StackTraceImplHolder (line 768) | class StackTraceImplHolder : public StackTraceImplBase { method size (line 770) | size_t size() const { method Trace (line 775) | Trace operator[](size_t idx) const { type details (line 794) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { class StackTraceImpl (line 851) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 895) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1072) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1110) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTrace (line 1207) | class StackTrace : public StackTraceImpl {} class TraceResolverImplBase (line 1211) | class TraceResolverImplBase { method load_addresses (line 1215) | virtual void load_addresses(void *const*addresses, int address_count) { method load_stacktrace (line 1220) | void load_stacktrace(ST &st) { method ResolvedTrace (line 1224) | virtual ResolvedTrace resolve(ResolvedTrace t) { return t; } method demangle (line 1227) | std::string demangle(const char *funcname) { class TraceResolverImpl (line 1235) | class TraceResolverImpl class TraceResolverImpl (line 1239) | class TraceResolverImpl class TraceResolverLinuxBase (line 1246) | class TraceResolverLinuxBase : public TraceResolverImplBase { method TraceResolverLinuxBase (line 1248) | TraceResolverLinuxBase() method resolve_exec_path (line 1250) | std::string resolve_exec_path(Dl_info &symbol_info) const { method get_argv0 (line 1277) | static std::string get_argv0() { method read_symlink (line 1284) | static std::string read_symlink(std::string const &symlink_path) { class TraceResolverLinuxImpl (line 1306) | class TraceResolverLinuxImpl class TraceResolverLinuxImpl (line 1311) | class TraceResolverLinuxImpl method load_addresses (line 1314) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 1321) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverLinuxImpl (line 1353) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1356) | TraceResolverLinuxImpl() : _bfd_loaded(false) {} method ResolvedTrace (line 1358) | ResolvedTrace resolve(ResolvedTrace trace) override { type bfd_fileobject (line 1551) | struct bfd_fileobject { method bfd_fileobject (line 1561) | bfd_fileobject *load_object_with_bfd(const std::string &filename_obj... type find_sym_result (line 1631) | struct find_sym_result { type find_sym_context (line 1638) | struct find_sym_context { method find_sym_result (line 1646) | find_sym_result find_symbol_details(bfd_fileobject *fobj, void *addr, method find_in_section_trampoline (line 1659) | static void find_in_section_trampoline(bfd *, asection *section, voi... method find_in_section (line 1667) | void find_in_section(bfd_vma addr, bfd_vma base_addr, bfd_fileobject... method backtrace_inliners (line 1718) | ResolvedTrace::source_locs_t method cstrings_eq (line 1751) | bool cstrings_eq(const char *a, const char *b) { class TraceResolverLinuxImpl (line 1763) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1766) | TraceResolverLinuxImpl() : _dwfl_handle_initialized(false) {} method ResolvedTrace (line 1768) | ResolvedTrace resolve(ResolvedTrace trace) override { type inliners_search_cb (line 1927) | struct inliners_search_cb { method inliners_search_cb (line 1959) | inliners_search_cb(ResolvedTrace &t) : trace(t) {} method die_has_pc (line 1962) | static bool die_has_pc(Dwarf_Die *die, Dwarf_Addr pc) { method Dwarf_Die (line 1993) | static Dwarf_Die *find_fundie_by_pc(Dwarf_Die *parent_die, Dwarf_Add... method deep_first_search_by_pc (line 2028) | static bool deep_first_search_by_pc(Dwarf_Die *parent_die, Dwarf_Add... class TraceResolverLinuxImpl (line 2090) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 2093) | TraceResolverLinuxImpl() : _dwarf_loaded(false) {} method ResolvedTrace (line 2095) | ResolvedTrace resolve(ResolvedTrace trace) override { method close_dwarf (line 2235) | static int close_dwarf(Dwarf_Debug dwarf) { type die_cache_entry (line 2256) | struct die_cache_entry { method isEmpty (line 2263) | inline bool isEmpty() { method die_cache_entry (line 2268) | die_cache_entry() : line_buffer(0), line_count(0), line_context(0) {} type dwarf_fileobject (line 2281) | struct dwarf_fileobject { method cstrings_eq (line 2296) | static bool cstrings_eq(const char *a, const char *b) { method dwarf_fileobject (line 2303) | dwarf_fileobject &load_object_with_dwarf(const std::string &filename... function die_cache_entry (line 2470) | die_cache_entry &get_die_cache(dwarf_fileobject &fobj, Dwarf_Die die) { function Dwarf_Die (line 2586) | static Dwarf_Die get_referenced_die(Dwarf_Debug dwarf, Dwarf_Die die, function get_referenced_die_name (line 2611) | static std::string get_referenced_die_name(Dwarf_Debug dwarf, Dwarf_Di... function Dwarf_Die (line 2634) | static Dwarf_Die get_spec_die(dwarf_fileobject &fobj, Dwarf_Die die) { function die_has_pc (line 2658) | static bool die_has_pc(dwarf_fileobject &fobj, Dwarf_Die die, Dwarf_Ad... function get_type (line 2744) | static void get_type(Dwarf_Debug dwarf, Dwarf_Die die, std::string &ty... function get_type_by_signature (line 2766) | static std::string get_type_by_signature(Dwarf_Debug dwarf, Dwarf_Die ... type type_context_t (line 2827) | struct type_context_t { method type_context_t (line 2834) | type_context_t() function set_parameter_string (line 2843) | static void set_parameter_string(dwarf_fileobject &fobj, Dwarf_Die die, function set_function_parameters (line 2957) | static void set_function_parameters(std::string &function_name, type inliners_search_cb (line 3056) | struct inliners_search_cb { method inliners_search_cb (line 3159) | inliners_search_cb(ResolvedTrace &t, dwarf_fileobject &f, Dwarf_Die c) function Dwarf_Die (line 3163) | static Dwarf_Die find_fundie_by_pc(dwarf_fileobject &fobj, function deep_first_search_by_pc (line 3228) | static bool deep_first_search_by_pc(dwarf_fileobject &fobj, function die_call_file (line 3315) | static std::string die_call_file(Dwarf_Debug dwarf, Dwarf_Die die, function Dwarf_Die (line 3350) | Dwarf_Die find_die(dwarf_fileobject &fobj, Dwarf_Addr addr) { class TraceResolverImpl (line 3462) | class TraceResolverImpl class TraceResolverDarwinImpl (line 3469) | class TraceResolverDarwinImpl class TraceResolverDarwinImpl (line 3472) | class TraceResolverDarwinImpl method load_addresses (line 3475) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 3482) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverImpl (line 3546) | class TraceResolverImpl type module_data (line 3557) | struct module_data { class get_mod_info (line 3564) | class get_mod_info { method get_mod_info (line 3569) | get_mod_info(HANDLE h) : process(h) {} method module_data (line 3571) | module_data operator()(HMODULE module) { class TraceResolverImpl (line 3592) | class TraceResolverImpl method TraceResolverImpl (line 3595) | TraceResolverImpl() { type symbol_t (line 3619) | struct symbol_t { method ResolvedTrace (line 3626) | ResolvedTrace resolve(ResolvedTrace t) override { method DWORD (line 3668) | DWORD machine_type() const { return image_type; } class TraceResolver (line 3676) | class TraceResolver : public TraceResolverImplis_open(); } method lines_t (line 3704) | lines_t &get_lines(unsigned line_start, unsigned line_count, lines_t... method lines_t (line 3754) | lines_t get_lines(unsigned line_start, unsigned line_count) { type not_isspace (line 3761) | struct not_isspace { type not_isempty (line 3766) | struct not_isempty { method swap (line 3773) | void swap(SourceFile &b) { _file.swap(b._file); } method SourceFile (line 3776) | SourceFile(SourceFile &&from) : _file(nullptr) { swap(from); } method SourceFile (line 3777) | SourceFile &operator=(SourceFile &&from) { method SourceFile (line 3782) | explicit SourceFile(const SourceFile &from) { method SourceFile (line 3786) | SourceFile &operator=(const SourceFile &from) { method get_paths_from_env_variable_impl (line 3797) | std::vector get_paths_from_env_variable_impl() { method SourceFile (line 3812) | SourceFile(const SourceFile &) = delete; method SourceFile (line 3813) | SourceFile &operator=(const SourceFile &) = delete; class SnippetFactory (line 3817) | class SnippetFactory { method lines_t (line 3821) | lines_t get_snippet(const std::string &filename, unsigned line_start, method lines_t (line 3829) | lines_t get_combined_snippet(const std::string &filename_a, unsigned... method lines_t (line 3841) | lines_t get_coalesced_snippet(const std::string &filename, unsigned ... method SourceFile (line 3863) | SourceFile &get_src_file(const std::string &filename) { type ColorMode (line 3876) | namespace ColorMode { type type (line 3877) | enum type { automatic, never, always } class cfile_streambuf (line 3880) | class cfile_streambuf : public std::streambuf { method cfile_streambuf (line 3882) | cfile_streambuf(FILE *_sink) : sink(_sink) {} method int_type (line 3883) | int_type underflow() override { return traits_type::eof(); } method int_type (line 3884) | int_type overflow(int_type ch) override { method xsputn (line 3891) | std::streamsize xsputn(const char_type *s, std::streamsize count) ov... method cfile_streambuf (line 3898) | cfile_streambuf(const cfile_streambuf &) = delete; method cfile_streambuf (line 3899) | cfile_streambuf &operator=(const cfile_streambuf &) = delete; type Color (line 3913) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3917) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} type Color (line 3954) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3958) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} class Printer (line 3968) | class Printer { method Printer (line 3977) | Printer() method FILE (line 3981) | FILE *print(ST &st, FILE *fp = stderr) { method FILE (line 3998) | FILE *print(IT begin, IT end, FILE *fp = stderr, size_t thread_id = ... method TraceResolver (line 4016) | TraceResolver const &resolver() const { return _resolver; } method print_stacktrace (line 4023) | void print_stacktrace(ST &st, std::ostream &os, Colorize &colorize) { method print_stacktrace (line 4032) | void print_stacktrace(IT begin, IT end, std::ostream &os, size_t thr... method print_header (line 4040) | void print_header(std::ostream &os, size_t thread_id) { method print_trace (line 4048) | void print_trace(std::ostream &os, const ResolvedTrace &trace, method print_snippet (line 4086) | void print_snippet(std::ostream &os, const char *indent, method print_source_loc (line 4110) | void print_source_loc(std::ostream &os, const char *indent, class SignalHandling (line 4127) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4272) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4446) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } type backward (line 440) | namespace backward { type details (line 408) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 420) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type details (line 431) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type system_tag (line 442) | namespace system_tag { type linux_tag (line 443) | struct linux_tag type darwin_tag (line 445) | struct darwin_tag type windows_tag (line 446) | struct windows_tag type unknown_tag (line 447) | struct unknown_tag type trace_resolver_tag (line 462) | namespace trace_resolver_tag { type libdw (line 464) | struct libdw type libbfd (line 465) | struct libbfd type libdwarf (line 466) | struct libdwarf type backtrace_symbol (line 467) | struct backtrace_symbol type backtrace_symbol (line 481) | struct backtrace_symbol type pdb_symbol (line 489) | struct pdb_symbol type details (line 498) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { type Trace (line 657) | struct Trace { method Trace (line 661) | Trace() : addr(nullptr), idx(0) {} method Trace (line 663) | explicit Trace(void *_addr, size_t _idx) : addr(_addr), idx(_idx) {} type ResolvedTrace (line 666) | struct ResolvedTrace : public Trace { type SourceLoc (line 668) | struct SourceLoc { method SourceLoc (line 674) | SourceLoc() : line(0), col(0) {} method ResolvedTrace (line 703) | ResolvedTrace() : Trace() {} method ResolvedTrace (line 704) | ResolvedTrace(const Trace &mini_trace) : Trace(mini_trace) {} class StackTraceImpl (line 710) | class StackTraceImpl { method size (line 712) | size_t size() const { return 0; } method Trace (line 713) | Trace operator[](size_t) const { return Trace(); } method load_here (line 714) | size_t load_here(size_t = 0) { return 0; } method load_from (line 715) | size_t load_from(void *, size_t = 0, void * = nullptr, void * = null... method thread_id (line 718) | size_t thread_id() const { return 0; } method skip_n_firsts (line 719) | void skip_n_firsts(size_t) {} class StackTraceImplBase (line 722) | class StackTraceImplBase { method StackTraceImplBase (line 724) | StackTraceImplBase() method thread_id (line 727) | size_t thread_id() const { return _thread_id; } method skip_n_firsts (line 729) | void skip_n_firsts(size_t n) { _skip = n; } method load_thread_info (line 732) | void load_thread_info() { method set_context (line 753) | void set_context(void *context) { _context = context; } method set_error_addr (line 756) | void set_error_addr(void *error_addr) { _error_addr = error_addr; } method skip_n_firsts (line 759) | size_t skip_n_firsts() const { return _skip; } class StackTraceImplHolder (line 768) | class StackTraceImplHolder : public StackTraceImplBase { method size (line 770) | size_t size() const { method Trace (line 775) | Trace operator[](size_t idx) const { type details (line 794) | namespace details { type hashtable (line 409) | struct hashtable { type hashtable (line 421) | struct hashtable { function T (line 424) | const T &move(const T &v) { return v; } function T (line 425) | T &move(T &v) { return v; } type rm_ptr (line 500) | struct rm_ptr { typedef T type; } type rm_ptr (line 502) | struct rm_ptr { typedef T type; } type rm_ptr (line 504) | struct rm_ptr { typedef const T type; } type deleter (line 506) | struct deleter { type default_delete (line 510) | struct default_delete { class handle (line 515) | class handle { type dummy (line 516) | struct dummy method handle (line 521) | handle(const handle &) = delete; method handle (line 522) | handle &operator=(const handle &) = delete; method handle (line 532) | explicit handle() : _val(), _empty(true) {} method handle (line 533) | explicit handle(T val) : _val(val), _empty(false) { method handle (line 539) | handle(handle &&from) : _empty(true) { swap(from); } method handle (line 540) | handle &operator=(handle &&from) { method handle (line 545) | explicit handle(const handle &from) : _empty(true) { method handle (line 549) | handle &operator=(const handle &from) { method reset (line 556) | void reset(T new_val) { method update (line 561) | void update(T new_val) { method T (line 572) | T get() { return _val; } method T (line 573) | T release() { method swap (line 577) | void swap(handle &b) { method T (line 584) | T &operator->() { return _val; } method T (line 585) | const T &operator->() const { return _val; } method ref_t (line 589) | ref_t operator*() { return *_val; } method const_ref_t (line 590) | const_ref_t operator*() const { return *_val; } method ref_t (line 591) | ref_t operator[](size_t idx) { return _val[idx]; } method T (line 594) | T *operator&() { type demangler_impl (line 601) | struct demangler_impl { method demangle (line 602) | static std::string demangle(const char *funcname) { return funcnam... type demangler_impl (line 607) | struct demangler_impl { method demangler_impl (line 608) | demangler_impl() : _demangle_buffer_length(0) {} method demangle (line 610) | std::string demangle(const char *funcname) { type demangler (line 628) | struct demangler : public demangler_impl {} function split_source_prefixes (line 638) | inline std::vector split_source_prefixes(const std::str... class Unwinder (line 796) | class Unwinder { method _Unwind_Reason_Code (line 811) | static _Unwind_Reason_Code backtrace_trampoline(_Unwind_Context *ctx, method _Unwind_Reason_Code (line 816) | _Unwind_Reason_Code backtrace(_Unwind_Context *ctx) { function unwind (line 843) | size_t unwind(F f, size_t depth) { class StackTraceImpl (line 851) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 895) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1072) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTraceImpl (line 1110) | class StackTraceImpl : public StackTraceImplH... method NOINLINE (line 853) | NOINLINE method load_from (line 868) | size_t load_from(void *addr, size_t depth = 32, void *context = null... type callback (line 884) | struct callback { method callback (line 886) | callback(StackTraceImpl &_self) : self(_self) {} method load_here (line 897) | __attribute__((noinline)) size_t load_here(size_t depth = 32, method load_from (line 1052) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method NOINLINE (line 1074) | NOINLINE method load_from (line 1090) | size_t load_from(void *addr, size_t depth = 32, void *context = null... method set_machine_type (line 1114) | void set_machine_type(DWORD machine_type) { machine_type_ = machine_... method set_context (line 1115) | void set_context(CONTEXT *ctx) { ctx_ = ctx; } method set_thread_handle (line 1116) | void set_thread_handle(HANDLE handle) { thd_ = handle; } method NOINLINE (line 1118) | NOINLINE method load_from (line 1184) | size_t load_from(void *addr, size_t depth = 32, void *context = null... class StackTrace (line 1207) | class StackTrace : public StackTraceImpl {} class TraceResolverImplBase (line 1211) | class TraceResolverImplBase { method load_addresses (line 1215) | virtual void load_addresses(void *const*addresses, int address_count) { method load_stacktrace (line 1220) | void load_stacktrace(ST &st) { method ResolvedTrace (line 1224) | virtual ResolvedTrace resolve(ResolvedTrace t) { return t; } method demangle (line 1227) | std::string demangle(const char *funcname) { class TraceResolverImpl (line 1235) | class TraceResolverImpl class TraceResolverImpl (line 1239) | class TraceResolverImpl class TraceResolverLinuxBase (line 1246) | class TraceResolverLinuxBase : public TraceResolverImplBase { method TraceResolverLinuxBase (line 1248) | TraceResolverLinuxBase() method resolve_exec_path (line 1250) | std::string resolve_exec_path(Dl_info &symbol_info) const { method get_argv0 (line 1277) | static std::string get_argv0() { method read_symlink (line 1284) | static std::string read_symlink(std::string const &symlink_path) { class TraceResolverLinuxImpl (line 1306) | class TraceResolverLinuxImpl class TraceResolverLinuxImpl (line 1311) | class TraceResolverLinuxImpl method load_addresses (line 1314) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 1321) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverLinuxImpl (line 1353) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1356) | TraceResolverLinuxImpl() : _bfd_loaded(false) {} method ResolvedTrace (line 1358) | ResolvedTrace resolve(ResolvedTrace trace) override { type bfd_fileobject (line 1551) | struct bfd_fileobject { method bfd_fileobject (line 1561) | bfd_fileobject *load_object_with_bfd(const std::string &filename_obj... type find_sym_result (line 1631) | struct find_sym_result { type find_sym_context (line 1638) | struct find_sym_context { method find_sym_result (line 1646) | find_sym_result find_symbol_details(bfd_fileobject *fobj, void *addr, method find_in_section_trampoline (line 1659) | static void find_in_section_trampoline(bfd *, asection *section, voi... method find_in_section (line 1667) | void find_in_section(bfd_vma addr, bfd_vma base_addr, bfd_fileobject... method backtrace_inliners (line 1718) | ResolvedTrace::source_locs_t method cstrings_eq (line 1751) | bool cstrings_eq(const char *a, const char *b) { class TraceResolverLinuxImpl (line 1763) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 1766) | TraceResolverLinuxImpl() : _dwfl_handle_initialized(false) {} method ResolvedTrace (line 1768) | ResolvedTrace resolve(ResolvedTrace trace) override { type inliners_search_cb (line 1927) | struct inliners_search_cb { method inliners_search_cb (line 1959) | inliners_search_cb(ResolvedTrace &t) : trace(t) {} method die_has_pc (line 1962) | static bool die_has_pc(Dwarf_Die *die, Dwarf_Addr pc) { method Dwarf_Die (line 1993) | static Dwarf_Die *find_fundie_by_pc(Dwarf_Die *parent_die, Dwarf_Add... method deep_first_search_by_pc (line 2028) | static bool deep_first_search_by_pc(Dwarf_Die *parent_die, Dwarf_Add... class TraceResolverLinuxImpl (line 2090) | class TraceResolverLinuxImpl method TraceResolverLinuxImpl (line 2093) | TraceResolverLinuxImpl() : _dwarf_loaded(false) {} method ResolvedTrace (line 2095) | ResolvedTrace resolve(ResolvedTrace trace) override { method close_dwarf (line 2235) | static int close_dwarf(Dwarf_Debug dwarf) { type die_cache_entry (line 2256) | struct die_cache_entry { method isEmpty (line 2263) | inline bool isEmpty() { method die_cache_entry (line 2268) | die_cache_entry() : line_buffer(0), line_count(0), line_context(0) {} type dwarf_fileobject (line 2281) | struct dwarf_fileobject { method cstrings_eq (line 2296) | static bool cstrings_eq(const char *a, const char *b) { method dwarf_fileobject (line 2303) | dwarf_fileobject &load_object_with_dwarf(const std::string &filename... function die_cache_entry (line 2470) | die_cache_entry &get_die_cache(dwarf_fileobject &fobj, Dwarf_Die die) { function Dwarf_Die (line 2586) | static Dwarf_Die get_referenced_die(Dwarf_Debug dwarf, Dwarf_Die die, function get_referenced_die_name (line 2611) | static std::string get_referenced_die_name(Dwarf_Debug dwarf, Dwarf_Di... function Dwarf_Die (line 2634) | static Dwarf_Die get_spec_die(dwarf_fileobject &fobj, Dwarf_Die die) { function die_has_pc (line 2658) | static bool die_has_pc(dwarf_fileobject &fobj, Dwarf_Die die, Dwarf_Ad... function get_type (line 2744) | static void get_type(Dwarf_Debug dwarf, Dwarf_Die die, std::string &ty... function get_type_by_signature (line 2766) | static std::string get_type_by_signature(Dwarf_Debug dwarf, Dwarf_Die ... type type_context_t (line 2827) | struct type_context_t { method type_context_t (line 2834) | type_context_t() function set_parameter_string (line 2843) | static void set_parameter_string(dwarf_fileobject &fobj, Dwarf_Die die, function set_function_parameters (line 2957) | static void set_function_parameters(std::string &function_name, type inliners_search_cb (line 3056) | struct inliners_search_cb { method inliners_search_cb (line 3159) | inliners_search_cb(ResolvedTrace &t, dwarf_fileobject &f, Dwarf_Die c) function Dwarf_Die (line 3163) | static Dwarf_Die find_fundie_by_pc(dwarf_fileobject &fobj, function deep_first_search_by_pc (line 3228) | static bool deep_first_search_by_pc(dwarf_fileobject &fobj, function die_call_file (line 3315) | static std::string die_call_file(Dwarf_Debug dwarf, Dwarf_Die die, function Dwarf_Die (line 3350) | Dwarf_Die find_die(dwarf_fileobject &fobj, Dwarf_Addr addr) { class TraceResolverImpl (line 3462) | class TraceResolverImpl class TraceResolverDarwinImpl (line 3469) | class TraceResolverDarwinImpl class TraceResolverDarwinImpl (line 3472) | class TraceResolverDarwinImpl method load_addresses (line 3475) | void load_addresses(void *const*addresses, int address_count) overri... method ResolvedTrace (line 3482) | ResolvedTrace resolve(ResolvedTrace trace) override { class TraceResolverImpl (line 3546) | class TraceResolverImpl type module_data (line 3557) | struct module_data { class get_mod_info (line 3564) | class get_mod_info { method get_mod_info (line 3569) | get_mod_info(HANDLE h) : process(h) {} method module_data (line 3571) | module_data operator()(HMODULE module) { class TraceResolverImpl (line 3592) | class TraceResolverImpl method TraceResolverImpl (line 3595) | TraceResolverImpl() { type symbol_t (line 3619) | struct symbol_t { method ResolvedTrace (line 3626) | ResolvedTrace resolve(ResolvedTrace t) override { method DWORD (line 3668) | DWORD machine_type() const { return image_type; } class TraceResolver (line 3676) | class TraceResolver : public TraceResolverImplis_open(); } method lines_t (line 3704) | lines_t &get_lines(unsigned line_start, unsigned line_count, lines_t... method lines_t (line 3754) | lines_t get_lines(unsigned line_start, unsigned line_count) { type not_isspace (line 3761) | struct not_isspace { type not_isempty (line 3766) | struct not_isempty { method swap (line 3773) | void swap(SourceFile &b) { _file.swap(b._file); } method SourceFile (line 3776) | SourceFile(SourceFile &&from) : _file(nullptr) { swap(from); } method SourceFile (line 3777) | SourceFile &operator=(SourceFile &&from) { method SourceFile (line 3782) | explicit SourceFile(const SourceFile &from) { method SourceFile (line 3786) | SourceFile &operator=(const SourceFile &from) { method get_paths_from_env_variable_impl (line 3797) | std::vector get_paths_from_env_variable_impl() { method SourceFile (line 3812) | SourceFile(const SourceFile &) = delete; method SourceFile (line 3813) | SourceFile &operator=(const SourceFile &) = delete; class SnippetFactory (line 3817) | class SnippetFactory { method lines_t (line 3821) | lines_t get_snippet(const std::string &filename, unsigned line_start, method lines_t (line 3829) | lines_t get_combined_snippet(const std::string &filename_a, unsigned... method lines_t (line 3841) | lines_t get_coalesced_snippet(const std::string &filename, unsigned ... method SourceFile (line 3863) | SourceFile &get_src_file(const std::string &filename) { type ColorMode (line 3876) | namespace ColorMode { type type (line 3877) | enum type { automatic, never, always } class cfile_streambuf (line 3880) | class cfile_streambuf : public std::streambuf { method cfile_streambuf (line 3882) | cfile_streambuf(FILE *_sink) : sink(_sink) {} method int_type (line 3883) | int_type underflow() override { return traits_type::eof(); } method int_type (line 3884) | int_type overflow(int_type ch) override { method xsputn (line 3891) | std::streamsize xsputn(const char_type *s, std::streamsize count) ov... method cfile_streambuf (line 3898) | cfile_streambuf(const cfile_streambuf &) = delete; method cfile_streambuf (line 3899) | cfile_streambuf &operator=(const cfile_streambuf &) = delete; type Color (line 3913) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3917) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} type Color (line 3954) | namespace Color { type type (line 3914) | enum type { yellow = 33, purple = 35, reset = 39 } type type (line 3955) | enum type { yellow = 0, purple = 0, reset = 0 } class Colorize (line 3958) | class Colorize { method Colorize (line 3919) | Colorize(std::ostream &os) : _os(os), _reset(false), _enabled(false) {} method activate (line 3921) | void activate(ColorMode::type mode) { _enabled = mode == ColorMode::... method activate (line 3923) | void activate(ColorMode::type mode, FILE *fp) { activate(mode, filen... method set_color (line 3925) | void set_color(Color::type ccode) { method activate (line 3942) | void activate(ColorMode::type mode, int fd) { method Colorize (line 3960) | Colorize(std::ostream &) {} method activate (line 3961) | void activate(ColorMode::type) {} method activate (line 3962) | void activate(ColorMode::type, FILE *) {} method set_color (line 3963) | void set_color(Color::type) {} class Printer (line 3968) | class Printer { method Printer (line 3977) | Printer() method FILE (line 3981) | FILE *print(ST &st, FILE *fp = stderr) { method FILE (line 3998) | FILE *print(IT begin, IT end, FILE *fp = stderr, size_t thread_id = ... method TraceResolver (line 4016) | TraceResolver const &resolver() const { return _resolver; } method print_stacktrace (line 4023) | void print_stacktrace(ST &st, std::ostream &os, Colorize &colorize) { method print_stacktrace (line 4032) | void print_stacktrace(IT begin, IT end, std::ostream &os, size_t thr... method print_header (line 4040) | void print_header(std::ostream &os, size_t thread_id) { method print_trace (line 4048) | void print_trace(std::ostream &os, const ResolvedTrace &trace, method print_snippet (line 4086) | void print_snippet(std::ostream &os, const char *indent, method print_source_loc (line 4110) | void print_source_loc(std::ostream &os, const char *indent, class SignalHandling (line 4127) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4272) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } class SignalHandling (line 4446) | class SignalHandling { method make_default_signals (line 4129) | static std::vector make_default_signals() { method SignalHandling (line 4152) | SignalHandling(const std::vector &posix_signals = make_default_... method loaded (line 4194) | bool loaded() const { return _loaded; } method handleSignal (line 4196) | static void handleSignal(int, siginfo_t *info, void *_ctx) { method sig_handler (line 4255) | static void method SignalHandling (line 4274) | SignalHandling(const std::vector & = std::vector()) method loaded (line 4309) | bool loaded() const { return true; } method CONTEXT (line 4323) | static CONTEXT *ctx() { type crash_status (line 4328) | enum class crash_status { running, crashed, normal_exit, ending } method crash_status (line 4330) | static crash_status &crashed() { method HANDLE (line 4345) | static HANDLE &thread_handle() { method terminator (line 4371) | static inline void terminator() { method signal_handler (line 4376) | static inline void signal_handler(int) { method invalid_parameter_handler (line 4381) | static inline void __cdecl invalid_parameter_handler(const wchar_t *, method WINAPI (line 4390) | WINAPI crash_handler(EXCEPTION_POINTERS *info) { method NOINLINE (line 4397) | NOINLINE static void crash_handler(int skip, CONTEXT *ct = nullptr) { method handle_stacktrace (line 4423) | static void handle_stacktrace(int skip_frames = 0) { method SignalHandling (line 4448) | SignalHandling(const std::vector & = std::vector()) {} method init (line 4449) | bool init() { return false; } method loaded (line 4450) | bool loaded() { return false; } FILE: src/backward.cpp type backward (line 28) | namespace backward { FILE: test/_test_main.cpp function run_test (line 34) | bool run_test(TestBase& test) { function main (line 87) | int main(int argc, const char* const argv[]) { FILE: test/rectrace.cpp function end_of_our_journey (line 32) | void end_of_our_journey(stacktrace_t& st) { function rec (line 38) | int rec(stacktrace_t& st, int level) { type toto (line 46) | namespace toto { type titi (line 48) | namespace titi { type foo (line 50) | struct foo { method trampoline (line 53) | __attribute__((noinline)) function TEST (line 64) | TEST (recursion) { function fib (line 79) | int fib(StackTrace& st, int level) { function TEST (line 90) | TEST (fibrecursive) { FILE: test/select_signals.cpp function badass_function (line 32) | void badass_function() { function TEST_SEGFAULT (line 37) | TEST_SEGFAULT (pprint_sigsev) { function TEST_SEGFAULT (line 45) | TEST_SEGFAULT (wont_pprint) { FILE: test/stacktrace.cpp function collect_trace (line 30) | void collect_trace(StackTrace& st) { function TEST (line 34) | TEST (minitrace) { function d (line 42) | void d(StackTrace& st) { function c (line 46) | void c(StackTrace& st) { function b (line 50) | void b(StackTrace& st) { function a (line 54) | __attribute__ ((noinline)) function TEST (line 59) | TEST (smalltrace) { FILE: test/suicide.cpp function badass_function (line 32) | void badass_function() function TEST_SEGFAULT (line 38) | TEST_SEGFAULT (invalid_write) function you_shall_not_pass (line 43) | int you_shall_not_pass() function TEST_SEGFAULT (line 50) | TEST_SEGFAULT(invalid_read) function abort_abort_I_repeat_abort_abort (line 56) | void abort_abort_I_repeat_abort_abort() function TEST_ABORT (line 62) | TEST_ABORT (calling_abort) function divide_by_zero (line 69) | int divide_by_zero() function TEST_DIVZERO (line 76) | TEST_DIVZERO (divide_by_zero) function bye_bye_stack (line 82) | int bye_bye_stack(int i) { function TEST_SEGFAULT (line 86) | TEST_SEGFAULT(stackoverflow) FILE: test/test.cpp function TEST (line 29) | TEST (empty_test) { } function TEST_FAIL_ASSERT (line 31) | TEST_FAIL_ASSERT (fail_assert) { function TEST_FAIL_ASSERT (line 35) | TEST_FAIL_ASSERT (fail_assert_ge) { function TEST_UNCAUGHT_EXCEPTION (line 39) | TEST_UNCAUGHT_EXCEPTION (uncaught_exception) { function TEST_UNCAUGHT_EXCEPTION (line 43) | TEST_UNCAUGHT_EXCEPTION (uncaught_exception_int) { function TEST_SEGFAULT (line 47) | TEST_SEGFAULT (segfault) { function TEST_ABORT (line 53) | TEST_ABORT (abort) { function TEST (line 57) | TEST (catch_int) { function TEST_FAIL_ASSERT (line 61) | TEST_FAIL_ASSERT (fail_catch_int) { function TEST_FAIL_ASSERT (line 65) | TEST_FAIL_ASSERT (fail_no_throw) { function TEST (line 69) | TEST (any_throw) { function TEST_FAIL_ASSERT (line 73) | TEST_FAIL_ASSERT (fail_any_throw) { FILE: test/test.hpp type test (line 35) | namespace test { type AssertFailedError (line 37) | struct AssertFailedError: std::exception { method AssertFailedError (line 40) | AssertFailedError(const char* filename, int _line, const char* _errm... type TestStatus (line 68) | enum TestStatus { type TestBase (line 82) | struct TestBase { method TestStatus (line 90) | TestStatus run() { FILE: test_package/conanfile.py class TestBackward (line 4) | class TestBackward(ConanFile): method build (line 9) | def build(self): method test (line 14) | def test(self): FILE: test_package/main.cpp class TracedException (line 8) | class TracedException : public std::runtime_error method TracedException (line 11) | TracedException() : method _get_trace (line 16) | std::string _get_trace() function f (line 36) | void f(int i) function main (line 49) | int main()