GeezerVison is showing cpprefjp.github.io — debugging - cpprefjp C++日本語リファレンス
最終更新日時:
2026年10月08日 14時08分32秒 (JST)
Akira Takahashi
が更新
履歴
編集
<debugging>
debugging (C++26)
<debugging>ヘッダでは、プログラムのデバッグ実行をサポートする機能を提供する。
フリースタンディング
このヘッダは、フリースタンディング処理系でも使用できる。本ヘッダが提供する全ての機能がフリースタンディング処理系で使用可能である。
機能一覧
この機能が必要になった背景・経緯
開発プラットフォームによってデバッガやブレークポイントの機能は提供されているが、本ライブラリのようにプログラム中に明示的にブレークポイントを設置し、プログラムとデバッガを対話させることでデバッグ体験が向上することがある。
実装経験としては以下のようなものがあり、これらをこのライブラリで標準化した:
開発環境
機能
Microsoft C/C++ Optimizing Compiler
__debugbreak()関数 (無条件ブレークポイント)
Win32 API
IsDebuggerPresent()関数 (デバッガ実行中か判定)
LLVM Clang
__builtin_debugtrap()組み込み関数 (無条件ブレークポイント)
arm Keil, ARM Compiler
__breakpoint()関数 (無条件ブレークポイント)
Portable Snippetsライブラリ
psnip_trap()関数 (無条件ブレークポイント)
Debug Breakライブラリ
debug_break()関数 (無条件ブレークポイント)
Boost.Testライブラリ
debugger_break()関数 (無条件ブレークポイント) under_debugger()関数 (デバッガ実行中か判定)
EASTLライブラリ
EASTL_DEBUG_BREAK()マクロ (無条件ブレークポイント)
Catch2ライブラリ
CATCH_TRAPマクロ (無条件ブレークポイント) CATCH_BREAK_INTO_DEBUGGERマクロ (条件付きブレークポイント) isDebuggerActive()関数 (デバッガ実行中か判定)
JUCEライブラリ
JUCE_BREAK_IN_DEBUGGERマクロ (無条件ブレークポイント) juce_isRunningUnderDebugger()関数、Process::isRunningUnderDebugger()関数 (デバッガ実行中か判定)
ImGuiライブラリ
IM_DEBUG_BREAK()マクロ (無条件ブレークポイント)
AWS C SDK
aws_debug_break()関数 (条件付きブレークポイント) aws_is_debugger_present()関数 (デバッガ実行中か判定)
UnrealEngine
UE_DEBUG_BREAKマクロ (条件付きブレークポイント) IsDebuggerPresent()関数 (デバッガ実行中か判定)
バージョン
言語
処理系
参照