std:: breakpoint
|
Défini dans l'en-tête
<debugging>
|
||
|
void
breakpoint
(
)
noexcept
;
|
(depuis C++26) | |
Point d'arrêt inconditionnel : Tente d'arrêter temporairement l'exécution du programme et de transférer le contrôle au débogueur, indépendamment de la possibilité de détecter la présence d'un débogueur. Le comportement de cette fonction est défini par l'implémentation.
Table des matières |
Notes
L'objectif de cette fonction est de permettre un contrôle des points d'arrêt pendant l'exécution au-delà de ce qui pourrait être disponible depuis un débogueur, sans pour autant provoquer la fin du programme. Par exemple, interrompre l'exécution lorsqu'une condition non critique peu fréquente est détectée, permettre un contrôle programmatique avec des conditions complexes sensibles au runtime, interrompre sur une entrée utilisateur pour inspecter le contexte dans des programmes interactifs sans avoir à basculer vers l'application de débogage, etc.
Cette fonction normalise de nombreuses fonctionnalités similaires existantes :
__builtin_debugtrap
de LLVM,
__debugbreak
de l'API Win32,
debugger_break
de
boost.test
,
assert
(
false
)
,
_asm
{
int
3
}
(MSVC) et
asm
(
"int3"
)
(GCC/clang) pour les cibles x86,
etc
.
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_debugging
|
202311L
|
(C++26) | Bibliothèque de support de débogage |
202403L
|
(C++26) |
std::is_debugger_present
remplaçable
|
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(C++26)
|
vérifie si un programme s'exécute sous le contrôle d'un débogueur
(fonction) |
|
(C++26)
|
appelle
std::breakpoint
si
std::is_debugger_present
retourne
true
(fonction) |
Liens externes
| 1. |
armKEIL :
__breakpoint
intrinsèque
|
| 2. | Portable Snippets : Assertions de débogage et pièges |
| 3. |
EASTL :
EASTL_DEBUG_BREAK
|
| 4. |
Catch2 :
CATCH_TRAP
et
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
|