std::is_debugger_present
来自 cppreference.com
在头文件 <debugging> 中定义 |
||
bool is_debugger_present() noexcept; |
(自 C++26 起) | |
尝试确定程序是否在调试器存在的情况下执行。
默认情况下,此函数的行为完全由实现定义。C++ 程序可以提供此签名的定义来替换此函数的行为。
内容 |
[编辑] 返回值
默认版本返回 true,如果根据其了解,程序是在调试器下执行的。
[编辑] 备注
此函数的目的是允许打印额外的输出以帮助诊断问题、执行额外的测试代码、显示额外的用户界面以帮助调试等。
此函数标准化了许多类似的现有设施:under_debugger
来自 boost.test,IsDebuggerPresent()
来自 Win32 API,isDebuggerActive
来自 Catch2,IsDebuggerPresent
来自 虚幻引擎 等。
特性测试 宏 | 值 | Std | 特性 |
---|---|---|---|
__cpp_lib_debugging |
202311L | (C++26) | 调试支持库 |
202403L | (C++26) | 可替换的 std::is_debugger_present |
[编辑] 示例
此部分不完整 原因:没有示例 |
[编辑] 另请参阅
(C++26) |
调用时暂停正在运行的程序 (函数) |
(C++26) |
如果 std::is_debugger_present 返回 true,则调用 std::breakpoint (函数) |