名前空間
変種
操作

std::breakpoint

From cppreference.com
< cpp‎ | utility
 
 
 
ヘッダー <debugging> で定義
void breakpoint() noexcept;
(C++26以降)

無条件ブレークポイント: デバッガの存在を検出できるかどうかにかかわらず、プログラムの実行を一時停止し、デバッガに制御を渡そうとします。この関数の動作は実装定義です。

目次

[編集] 注釈

この関数の意図は、デバッガで利用可能なもの以上のブレークポイントの実行時制御を、プログラムを終了させることなく可能にすることです。例えば、まれな非クリティカルな条件が検出されたときにブレークする、複雑な実行時感応条件でのプログラムによる制御を可能にする、対話型プログラムでデバッガアプリケーションに切り替える必要なくコンテキストを検査するためにユーザー入力を待ってブレークする、などです。

この関数は、多くの類似した既存の機能(LLVMの__builtin_debugtrap、Win32 APIの__debugbreakboost.testdebugger_breakassert(false)、MSVCの_asm { int 3 }、x86ターゲットのGCC/clangのasm("int3")など)を標準化します。

機能テストマクロ 規格 機能
__cpp_lib_debugging 202311L (C++26) デバッグサポートライブラリ
202403L (C++26) 置換可能な std::is_debugger_present

[編集]

[編集] 関連項目

プログラムがデバッガーの制御下で実行されているかを確認する
(関数) [編集]
std::is_debugger_presenttrue を返す場合に std::breakpoint を呼び出す
(関数) [編集]

[編集] 外部リンク

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
English 日本語 中文(简体) 中文(繁體)