std:: breakpoint
|
헤더 파일에 정의됨
<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
|
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++26)
|
프로그램이 디버거 제어 하에 실행 중인지 확인합니다
(function) |
|
(C++26)
|
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
|