irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

irods_stacktrace.hpp
Go to the documentation of this file.
1 #ifndef _IRODS_STACKTRACE_HPP_
2 #define _IRODS_STACKTRACE_HPP_
3 
4 #include <vector>
5 #include <string>
6 #include <iostream>
7 
8 #include <boost/optional.hpp>
9 
10 namespace irods {
11  class stacktrace {
12  public:
13  stacktrace();
14  virtual ~stacktrace(void) = default;
15  const std::string& dump() const;
16  private:
17  static const int max_stack_size = 50;
18 
20  void demangle_symbol( const std::string& _symbol, std::string& _rtn_name, std::string& _rtn_offset ) const;
21 
22  typedef struct stack_entry_s {
23  std::string function;
24  std::string offset;
25  void* address;
27 
28  typedef std::vector<stack_entry_t> stacklist;
29 
31  stacklist resolve_stack() const;
32 
33  std::vector<void*> backtrace_;
34  int size_;
35  mutable boost::optional<std::string> dump_;
36  };
37 }; // namespace irods
38 
39 #endif // _IRODS_STACKTRACE_HPP_
irods::stacktrace::dump
const std::string & dump() const
Definition: irods_stacktrace.cpp:55
irods::stacktrace::demangle_symbol
void demangle_symbol(const std::string &_symbol, std::string &_rtn_name, std::string &_rtn_offset) const
Definition: irods_stacktrace.cpp:90
irods::stacktrace::stacktrace
stacktrace()
Definition: irods_stacktrace.cpp:19
irods::stacktrace::stack_entry_t
struct irods::stacktrace::stack_entry_s stack_entry_t
irods::stacktrace::~stacktrace
virtual ~stacktrace(void)=default
irods::stacktrace
Definition: irods_stacktrace.hpp:11
irods::stacktrace::stacklist
std::vector< stack_entry_t > stacklist
Definition: irods_stacktrace.hpp:28
irods::stacktrace::stack_entry_s::address
void * address
Definition: irods_stacktrace.hpp:25
irods::stacktrace::dump_
boost::optional< std::string > dump_
Definition: irods_stacktrace.hpp:35
irods
Definition: apiHandler.hpp:35
irods::stacktrace::stack_entry_s::offset
std::string offset
Definition: irods_stacktrace.hpp:24
irods::stacktrace::size_
int size_
Definition: irods_stacktrace.hpp:34
irods::stacktrace::resolve_stack
stacklist resolve_stack() const
Definition: irods_stacktrace.cpp:25
irods::stacktrace::stack_entry_s
Definition: irods_stacktrace.hpp:22
irods::stacktrace::backtrace_
std::vector< void * > backtrace_
Definition: irods_stacktrace.hpp:33
irods::stacktrace::max_stack_size
static const int max_stack_size
Definition: irods_stacktrace.hpp:17