std::is_debugger_present
来自 cppreference.cn
定义于头文件 <debugging> |
||
bool is_debugger_present() noexcept; |
(C++26 起) | |
尝试确定程序是否正在调试器下执行。
此函数是可替换的。
目录 |
[编辑] 返回值
默认版本返回一个实现定义的值,通常表示程序是否在调试器下执行。
[编辑] 备注
此函数的目的是允许输出额外的信息以帮助诊断问题,执行额外的测试代码,显示额外的用户界面以帮助调试等。
特性测试宏 | 值 | 标准 | 特性 |
---|---|---|---|
__cpp_lib_debugging |
202311L |
(C++26) | 调试支持库 |
202403L |
(C++26) | 可替换的 std::is_debugger_present |
[编辑] 示例
本节不完整 原因:无示例 |
[编辑] 另请参阅
(C++26) |
调用时暂停正在运行的程序 (函数) |
(C++26) |
如果 std::is_debugger_present 返回 true,则调用 std::breakpoint (函数) |
[编辑] 外部链接
is_debugger_present
标准化了许多类似的现有工具,例如:
1. | 来自 boost.test 的 under_debugger |
2. | 来自 Win32 API 的 IsDebuggerPresent() |
3. | 来自 Catch2 的 isDebuggerActive |
4. | 来自 虚幻引擎 的 IsDebuggerPresent |