Namespaces
Variants

std:: breakpoint

From cppreference.net
ヘッダーで定義 <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

関連項目

プログラムがデバッガーの制御下で実行されているかどうかをチェックする
(関数)
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