debugging

The contents of this module can be included with the header hpx/modules/debugging.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/debugging.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

Header hpx/debugging/attach_debugger.hpp

namespace hpx
namespace util

Functions

void attach_debugger()

Tries to break an attached debugger, if not supported a loop is invoked which gives enough time to attach a debugger manually.

Header hpx/debugging/backtrace.hpp

namespace hpx
namespace util

Functions

std::string trace(std::size_t frames_no = HPX_HAVE_THREAD_BACKTRACE_DEPTH)

Header hpx/debugging/backtrace/backtrace.hpp

namespace hpx
namespace util

Functions

template<typename E>
details::trace_manip trace(E const &e)
namespace details

Functions

std::ostream &operator<<(std::ostream &out, details::trace_manip const &t)
class trace_manip
#include <backtrace.hpp>

Public Functions

trace_manip(backtrace const *tr)
std::ostream &write(std::ostream &out) const

Private Members

backtrace const *tr_
namespace stack_trace

Functions

std::size_t trace(void **addresses, std::size_t size)
void write_symbols(void *const *addresses, std::size_t size, std::ostream&)
std::string get_symbol(void *address)
std::string get_symbols(void *const *address, std::size_t size)

Header hpx/debugging/demangle_helper.hpp

namespace hpx
namespace util
namespace debug

Typedefs

using cxxabi_demangle_helper = demangle_helper<T>
using cxx_type_id = type_id<T>

Functions

template<typename T = void>
std::string print_type(const char *delim = "")
template<>
std::string print_type(const char*)
template<typename T, typename ...Args>
std::enable_if<sizeof...(Args) != 0, std::string>::type print_type(const char *delim = "")
template<typename T>
struct demangle_helper
#include <demangle_helper.hpp>

Public Functions

char const *type_id() const
template<typename T>
struct type_id
#include <demangle_helper.hpp>

Public Static Attributes

demangle_helper<T> typeid_ = demangle_helper<T>()

Header hpx/debugging/print.hpp

Defines

HPX_DP_LAZY(Expr, printer)

Variables

char **environ