std:: breakpoint
|
Definido en el encabezado
<debugging>
|
||
|
void
breakpoint
(
)
noexcept
;
|
(desde C++26) | |
Punto de interrupción incondicional: Intenta detener temporalmente la ejecución del programa y pasar el control al depurador, independientemente de si se puede detectar la presencia de un depurador. El comportamiento de esta función está definido por la implementación.
Contenidos |
Notas
El propósito de esta función es permitir el control en tiempo de ejecución de puntos de interrupción más allá de lo que podría estar disponible desde un depurador, sin causar la salida del programa. Por ejemplo, interrumpir cuando se detecta una condición no crítica infrecuente, permitir control programático con condiciones complejas sensibles al tiempo de ejecución, interrumpir ante entrada del usuario para inspeccionar el contexto en programas interactivos sin necesidad de cambiar a la aplicación depuradora, etc.
Esta función estandariza muchas facilidades similares existentes:
__builtin_debugtrap
de LLVM,
__debugbreak
de la API de Win32,
debugger_break
de
boost.test
,
assert
(
false
)
,
_asm
{
int
3
}
(MSVC) y
asm
(
"int3"
)
(GCC/clang) para objetivos x86,
etc
.
| Macro de prueba de características | Valor | Estándar | Característica |
|---|---|---|---|
__cpp_lib_debugging
|
202311L
|
(C++26) | Biblioteca de soporte de depuración |
202403L
|
(C++26) |
Reemplazable
std::is_debugger_present
|
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Véase también
|
(C++26)
|
verifica si un programa se está ejecutando bajo el control de un depurador
(función) |
|
(C++26)
|
llama a
std::breakpoint
si
std::is_debugger_present
devuelve
true
(función) |
Enlaces externos
| 1. |
armKEIL:
__breakpoint
intrínseco
|
| 2. | Portable Snippets: Aserciones de depuración y traps |
| 3. |
EASTL:
EASTL_DEBUG_BREAK
|
| 4. |
Catch2:
CATCH_TRAP
y
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
|