test
stacktrace.cpp
Go to the documentation of this file.
1
/*
2
* test/stacktrace.cpp
3
* Copyright 2013 Google Inc. All Rights Reserved.
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a copy
6
* of this software and associated documentation files (the "Software"), to deal
7
* in the Software without restriction, including without limitation the rights
8
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
* copies of the Software, and to permit persons to whom the Software is
10
* furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included in
13
* all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
* SOFTWARE.
22
*/
23
24
#include <
backward_ros/backward.hpp
>
25
#include <cstdio>
26
#include "
test.hpp
"
27
28
using namespace
backward
;
29
30
void
collect_trace
(
StackTrace
& st) {
31
st.
load_here
();
32
}
33
34
TEST
(minitrace) {
35
StackTrace
st;
36
collect_trace
(st);
37
38
Printer
printer;
39
printer.
print
(st, stdout);
40
}
41
42
void
d
(
StackTrace
& st) {
43
st.
load_here
();
44
}
45
46
void
c
(
StackTrace
& st) {
47
return
d
(st);
48
}
49
50
void
b
(
StackTrace
& st) {
51
return
c
(st);
52
}
53
54
__attribute__
((noinline))
55
void
a(
StackTrace
& st) {
56
return
b
(st);
57
}
58
59
TEST
(smalltrace) {
60
StackTrace
st;
61
a(st);
62
63
Printer
printer;
64
printer.
print
(st, stdout);
65
}
backward::StackTrace
Definition:
backward.hpp:1207
TEST
TEST(minitrace)
Definition:
stacktrace.cpp:34
backward::Printer
Definition:
backward.hpp:3968
d
void d(StackTrace &st)
Definition:
stacktrace.cpp:42
__attribute__
__attribute__((noinline)) void a(StackTrace &st)
Definition:
stacktrace.cpp:54
collect_trace
void collect_trace(StackTrace &st)
Definition:
stacktrace.cpp:30
b
void b(StackTrace &st)
Definition:
stacktrace.cpp:50
backward.hpp
test.hpp
backward::StackTraceImpl::load_here
size_t load_here(size_t=0)
Definition:
backward.hpp:714
backward::Printer::print
FILE * print(ST &st, FILE *fp=stderr)
Definition:
backward.hpp:3981
c
void c(StackTrace &st)
Definition:
stacktrace.cpp:46
backward
Definition:
backward.hpp:419
backward_ros
Author(s):
autogenerated on Tue Mar 1 2022 23:50:48