8 #ifndef BOOST_BACKTRACE_HPP 9 #define BOOST_BACKTRACE_HPP 11 #include <boost/config.hpp> 20 namespace stack_trace {
21 int trace(
void **addresses,
int size);
22 void write_symbols(
void *
const *addresses,
int size,std::ostream &);
24 std::string
get_symbols(
void *
const *address,
int size);
30 static size_t const default_stack_size = 32;
36 frames_.resize(frames_no,0);
47 return frames_.size();
52 if(frame_no < stack_size())
53 return frames_[frame_no];
57 void trace_line(
unsigned frame_no,std::ostream &out)
const 59 if(frame_no < frames_.size())
65 if(frame_no < frames_.size())
77 void trace(std::ostream &out)
const 85 std::vector<void *> frames_;
167 std::ostream &
write(std::ostream &out)
const trace_manip(backtrace const *tr)
std::string trace() const
void trace(std::ostream &out) const
size_t stack_size() const
backtrace(size_t frames_no=default_stack_size)
std::string get_symbols(void *const *ptrs, int size)
void write_symbols(void *const *addresses, int size, std::ostream &out)
std::ostream & operator<<(std::ostream &out, details::trace_manip const &t)
void * return_address(unsigned frame_no) const
std::string get_symbol(void *ptr)
std::string trace_line(unsigned frame_no) const
std::ostream & write(std::ostream &out) const
void trace_line(unsigned frame_no, std::ostream &out) const