Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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	possi-
       ble to determine
	  if the debugger is present.

	  Formally, the	behavior of this function  is  completely  implementa-
       tion-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  pro-
       gram to exit. For
	  example,  breaking  when an infrequent non-critical condition	is de-
       tected, 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_debug-
       ger_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_debug-
       ger_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

http://cppreference.com		  2024.06.10		    std::breakpoint(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::breakpoint&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help