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 Class Reference

#include <irods_stacktrace.hpp>

Collaboration diagram for irods::stacktrace:


struct  stack_entry_s

Public Member Functions

 stacktrace ()
virtual ~stacktrace (void)=default
const std::string & dump () const

Private Types

typedef struct irods::stacktrace::stack_entry_s stack_entry_t
typedef std::vector< stack_entry_tstacklist

Private Member Functions

void demangle_symbol (const std::string &_symbol, std::string &_rtn_name, std::string &_rtn_offset) const
stacklist resolve_stack () const

Private Attributes

std::vector< void * > backtrace_
int size_
boost::optional< std::string > dump_

Static Private Attributes

static const int max_stack_size = 50

Detailed Description

Definition at line 11 of file irods_stacktrace.hpp.

Member Typedef Documentation

◆ stack_entry_t

◆ stacklist

typedef std::vector<stack_entry_t> irods::stacktrace::stacklist

Definition at line 28 of file irods_stacktrace.hpp.

Constructor & Destructor Documentation

◆ stacktrace()

irods::stacktrace::stacktrace ( )

Definition at line 19 of file irods_stacktrace.cpp.

References backtrace_, max_stack_size, and size_.

◆ ~stacktrace()

virtual irods::stacktrace::~stacktrace ( void  )

Member Function Documentation

◆ demangle_symbol()

void irods::stacktrace::demangle_symbol ( const std::string &  _symbol,
std::string &  _rtn_name,
std::string &  _rtn_offset 
) const
Description:\n function to demangle the c++ function names

Definition at line 90 of file irods_stacktrace.cpp.

References NULL, irods.pypyodbc::status, and SUCCESS.

Referenced by resolve_stack().

◆ dump()

const std::string & irods::stacktrace::dump ( ) const

Definition at line 55 of file irods_stacktrace.cpp.

References irods::experimental::filesystem::client::begin(), dump_, terminate_irods_processes::e, irods::experimental::filesystem::client::end(), and resolve_stack().

Referenced by irods::exception::assemble_full_display_what(), generateSQL(), irods::irods_string_hash::operator()(), rsFilePut(), and segv_handler().

Here is the call graph for this function:

◆ resolve_stack()

stacktrace::stacklist irods::stacktrace::resolve_stack ( ) const
Description:\n resolve the symbols and retrieve the stack

Definition at line 25 of file irods_stacktrace.cpp.

References backtrace_, demangle_symbol(), and size_.

Referenced by dump().

Here is the call graph for this function:

Member Data Documentation

◆ backtrace_

std::vector<void*> irods::stacktrace::backtrace_

Definition at line 33 of file irods_stacktrace.hpp.

Referenced by resolve_stack(), and stacktrace().

◆ dump_

boost::optional<std::string> irods::stacktrace::dump_

Definition at line 35 of file irods_stacktrace.hpp.

Referenced by dump().

◆ max_stack_size

const int irods::stacktrace::max_stack_size = 50

Definition at line 17 of file irods_stacktrace.hpp.

Referenced by stacktrace().

◆ size_

int irods::stacktrace::size_

Definition at line 34 of file irods_stacktrace.hpp.

Referenced by resolve_stack(), and stacktrace().

The documentation for this class was generated from the following files: