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::is_debugger_present
が
true
を返す場合、
std::breakpoint
を呼び出す
(関数) |
外部リンク
| 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
|