std:: breakpoint
|
Определено в заголовке
<debugging>
|
||
|
void
breakpoint
(
)
noexcept
;
|
(начиная с C++26) | |
Безусловная точка останова: Пытается временно остановить выполнение программы и передать управление отладчику, независимо от того, можно ли обнаружить наличие отладчика. Поведение этой функции определяется реализацией.
Содержание |
Примечания
Цель этой функции — обеспечить управление точками останова во время выполнения, выходящее за рамки возможностей отладчика, без завершения программы. Например, останов при обнаружении редкого некритического условия, программное управление со сложными условиями, зависящими от времени выполнения, останов по пользовательскому вводу для проверки контекста в интерактивных программах без необходимости переключения на приложение отладчика и т.д.
Эта функция стандартизирует множество существующих аналогичных средств:
__builtin_debugtrap
из LLVM,
__debugbreak
из Win32 API,
debugger_break
из
boost.test
,
assert
(
false
)
,
_asm
{
int
3
}
(MSVC) и
asm
(
"int3"
)
(GCC/clang) для x86 целей,
и т.д.
.
| Макрос тестирования возможностей | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_debugging
|
202311L
|
(C++26) | Библиотека поддержки отладки |
202403L
|
(C++26) |
Заменяемый
std::is_debugger_present
|
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++26)
|
проверяет, выполняется ли программа под управлением отладчика
(функция) |
|
(C++26)
|
вызывает
std::breakpoint
если
std::is_debugger_present
возвращает
true
(функция) |
Внешние ссылки
| 1. |
armKEIL:
__breakpoint
intrinsic
|
| 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
|