PLaSK library

Loading...
Searching...
No Matches
debug.hpp
Go to the documentation of this file.
1/*
2 * This file is part of PLaSK (https://plask.app) by Photonics Group at TUL
3 * Copyright (c) 2022 Lodz University of Technology
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14#ifndef PLASK__UTILS_DEBUG_H
15#define PLASK__UTILS_DEBUG_H
16
21#include <plask/config.hpp>
22
23#if defined(PRINT_STACKTRACE_ON_EXCEPTION) && !(defined(_WIN32) || defined(__WIN32__) || defined(WIN32))
24
25#include <backward.hpp>
26
27#define PLASK_PRINT_STACK_HERE(d) { backward::StackTrace st; st.load_here(d); backward::Printer p; p.print(st); }
28
29#else
30
31#define PLASK_PRINT_STACK_HERE(d)
32
33#endif
34
35#endif // PLASK__UTILS_DEBUG_H