Flow123d
master-93637712f
src
system
stack_trace.hh
Go to the documentation of this file.
1
/*!
2
*
3
* Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License version 3 as published by the
7
* Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
*
13
*
14
* @file stack_trace.hh
15
* @brief
16
*/
17
18
#ifndef STACK_TRACE_HH_
19
#define STACK_TRACE_HH_
20
21
#include <iostream>
22
#include <string>
23
#include <vector>
24
25
26
/**
27
* @brief Class representing stacktrace of exceptions.
28
*
29
* Store array of backtrace frames and size of this array, method @p print allows to print
30
* formated stacktrace into given stream.
31
*
32
* @ingroup exceptions
33
*/
34
class
StackTrace
35
{
36
public
:
37
/// Default constructor, fill stacktrace
38
StackTrace
();
39
40
/// Copy constructor
41
StackTrace
(
const
StackTrace
&other);
42
43
/// Destructor
44
~StackTrace
();
45
46
/// Prints formated stacktrace into given stream @p out.
47
void
print
(std::ostream &out,
std::vector<std::string>
frames_to_cut =
std::vector<std::string>
())
const
;
48
49
private
:
50
51
/// Array of backtrace frames returned by glibc backtrace_symbols.
52
char
**
frames_
;
53
54
/// Size of stacktrace table - number of frames.
55
int
n_frames_
;
56
};
57
58
59
#endif
/* STACK_TRACE_HH_ */
60
StackTrace::~StackTrace
~StackTrace()
Destructor.
Definition:
stack_trace.cc:62
StackTrace::frames_
char ** frames_
Array of backtrace frames returned by glibc backtrace_symbols.
Definition:
stack_trace.hh:52
std::vector< std::string >
StackTrace::n_frames_
int n_frames_
Size of stacktrace table - number of frames.
Definition:
stack_trace.hh:55
StackTrace
Class representing stacktrace of exceptions.
Definition:
stack_trace.hh:34
StackTrace::print
void print(std::ostream &out, std::vector< std::string > frames_to_cut=std::vector< std::string >()) const
Prints formated stacktrace into given stream out.
Definition:
stack_trace.cc:72
StackTrace::StackTrace
StackTrace()
Default constructor, fill stacktrace.
Definition:
stack_trace.cc:33
Generated by
1.8.17