HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
debugger.hpp
Go to the documentation of this file.
1// Copyright Take Vos 2022.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
8#pragma once
9
10#include "architecture.hpp"
11#include "exception.hpp"
12#include <format>
13
14namespace hi { inline namespace v1 {
15
23void prepare_debug_break() noexcept;
24
25#if HI_OPERATING_SYSTEM == HI_OS_WINDOWS
26
33#define hi_debug_break() \
34 ::hi::prepare_debug_break(); \
35 __debugbreak()
36
37#else
38#error Missing implementation of hi_debug_break().
39#endif
40
50#define hi_debug_abort(...) \
51 hi_set_terminate_message(__VA_ARGS__); \
52 hi_debug_break(); \
53 std::terminate()
54
55}} // namespace hi::v1
Functions and macros for handling architectural difference between compilers, CPUs and operating syst...
DOXYGEN BUG.
Definition algorithm.hpp:15
geometry/margins.hpp
Definition assert.hpp:18
void prepare_debug_break() noexcept
Prepare for breaking in the debugger.