std::is_debugger_present
来自cppreference.com
在标头 <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. | [https://www.boost.org/doc/libs/release/libs/test/doc/html/index.html boost.test 的 under_debugger ]
|
2. | Windows API 的 IsDebuggerPresent()
|
3. | [https://github.com/catchorg/Catch2 Catch2 的 isDebuggerActive ]
|
4. | [https://www.unrealengine.com/ Unreal Engine 的 IsDebuggerPresent ]
|