mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-28 01:21:31 +01:00

* chore(Trace): add dev env settings * add(Trace): init add Poco::trace and libbacktrace files * feat(Exception): generate stack trace if enabled at compile time * chore(DNSSD): remove binaries from git * fix(Trace): build * chore(ci): exclude exception text tests for trace build; add debug test script params * chore(build): mac (dl) * chore(cmake): Changes to build Trace with CMake. * chore(cmake): Changes to build Trace on Windows * chore(cmake): Improvements to include trace sample. * chore(cmake): Fixes to properly build/link Trace on Linux * chore(cmake): add_definitions --> add_compile_definitions * chore(cmake): Build Trace as static and don't export it. * chore(make): Link Trace with built-in libbacktrace on Linux * chore(Trace): remove unnecessary sources for libbacktrace. * chore(github): enable trace on a few github checks * chore(cmake): Build Trace with clang++ on Linux. * chore(cmake): Properly set POCO_ENABLE_TRACE globally when needed. * fix(cmake): Trace: corrected include for clang on Linux --------- Co-authored-by: Matej Kenda <matejken@gmail.com>
48 lines
917 B
C++
48 lines
917 B
C++
#ifndef COMMON_HPP
|
|
#define COMMON_HPP
|
|
|
|
#include <cstdio>
|
|
#include <stdexcept>
|
|
#include <string>
|
|
|
|
#include <cpptrace/cpptrace.hpp>
|
|
|
|
#include "platform/platform.hpp"
|
|
|
|
#define ESC "\033["
|
|
#define RESET ESC "0m"
|
|
#define RED ESC "31m"
|
|
#define GREEN ESC "32m"
|
|
#define YELLOW ESC "33m"
|
|
#define BLUE ESC "34m"
|
|
#define MAGENTA ESC "35m"
|
|
#define CYAN ESC "36m"
|
|
|
|
#if IS_GCC || IS_CLANG
|
|
#define NODISCARD __attribute__((warn_unused_result))
|
|
// #elif IS_MSVC && _MSC_VER >= 1700
|
|
// #define NODISCARD _Check_return_
|
|
#else
|
|
#define NODISCARD
|
|
#endif
|
|
|
|
namespace cpptrace {
|
|
namespace detail {
|
|
static const stacktrace_frame null_frame {
|
|
0,
|
|
0,
|
|
nullable<uint32_t>::null(),
|
|
nullable<uint32_t>::null(),
|
|
"",
|
|
"",
|
|
false
|
|
};
|
|
|
|
bool should_absorb_trace_exceptions();
|
|
bool should_resolve_inlined_calls();
|
|
enum cache_mode get_cache_mode();
|
|
}
|
|
}
|
|
|
|
#endif
|