- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::breakpoint(3) | C++ Standard Libary | std::breakpoint(3) | 
NAME¶
std::breakpoint - std::breakpoint
Synopsis¶
 Defined in header <debugging>
  
   void breakpoint() noexcept; (since C++26)
  
   Unconditional breakpoint: attempts to temporarily halt the execution of the
    program
  
   and transfer control to the debugger whether or not it's not possible to
    determine
  
   if the debugger is present.
  
   Formally, the behavior of this function is completely
  implementation-defined.
Notes¶
 The intent of this function is allowing for runtime control of
    breakpoints beyond
  
   what might be available from a debugger while not causing the program to
    exit. For
  
   example, breaking when an infrequent non-critical condition is detected,
    allowing
  
   programmatic control with complex runtime sensitive conditions, breaking on
    user
  
   input to inspect context in interactive programs without needing to switch to
    the
  
   debugger application, etc.
  
   This function standardizes many similar existing facilities:
    __builtin_debugtrap
  
   from LLVM, __debugbreak from Win32 API, debugger_break from boost.test,
  
   assert(false), _asm { int 3 } (MSVC) and asm("int3") (GCC/clang)
    for x86 targets,
  
   etc.
  
   Feature-test macro Value Std Feature
  
   __cpp_lib_debugging 202311L (C++26) Debugging support library
  
   202403L (C++26) Replaceable std::is_debugger_present
Example¶
 This section is incomplete
  
   Reason: no example
See also¶
 is_debugger_present checks whether a program is running under the
    control of a
  
   (C++26) debugger
  
   (function)
  
   breakpoint_if_debugging calls std::breakpoint if std::is_debugger_present
    returns
  
   (C++26) true
  
   (function)
External links¶
 1. armKEIL: __breakpoint intrinsic
  
   2. Portable Snippets: Debugging assertions and traps
  
   3. EASTL: EASTL_DEBUG_BREAK
  
   4. Catch2: CATCH_TRAP and CATCH_BREAK_INTO_DEBUGGER
  
   5. Unreal Engine: DebugBreak
  
   6. JUCE: JUCE_BREAK_IN_DEBUGGER
  
   7. Dear ImGui: IM_DEBUG_BREAK
  
   8. AWS C Common: aws_debug_break
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |