Namespaces
Variants

std:: breakpoint

From cppreference.net
헤더 파일에 정의됨 <debugging>
void breakpoint ( ) noexcept ;
(C++26부터)

무조건적 중단점: 디버거의 존재 여부를 감지할 수 있는지와 관계없이 프로그램 실행을 일시적으로 중지하고 제어를 디버거에 전달하려고 시도합니다. 이 함수의 동작은 구현에 따라 정의됩니다.

목차

참고 사항

이 함수의 의도는 프로그램을 종료시키지 않으면서 디버거에서 사용 가능한 기능 이상의 런타임 제어를 가능하게 하는 것입니다. 예를 들어, 드물게 발생하는 비중요 조건이 감지되었을 때 중단하거나, 복잡한 런타임 민감 조건을 가진 프로그래밍적 제어를 허용하거나, 디버거 애플리케이션으로 전환할 필요 없이 대화형 프로그램에서 컨텍스트를 검사하기 위해 사용자 입력 시 중단하는 등의 용도로 사용됩니다.

이 함수는 여러 유사한 기존 기능들을 표준화합니다: __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 .

기능 테스트 매크로 표준 기능
__cpp_lib_debugging 202311L (C++26) 디버깅 지원 라이브러리
202403L (C++26) 대체 가능한 std::is_debugger_present

예제

참고 항목

프로그램이 디버거 제어 하에 실행 중인지 확인합니다
(function)
std::is_debugger_present true 를 반환할 경우 std::breakpoint 를 호출합니다
(function)

외부 링크

1. armKEIL: __breakpoint 인트린직
2. Portable Snippets: 디버깅 어써션 및 트랩
3. EASTL: EASTL_DEBUG_BREAK
4. Catch2: CATCH_TRAP 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