std::is_debugger_present
来自cppreference.com
在标头 <debugging> 定义
|
||
bool is_debugger_present() noexcept; |
(C++26 起) | |
尝试确定程序运行时是否有调试器的存在。
默认情况下,该函数的行为完全由实现定义。C++ 程序可以为此签名提供函数定义来替换此函数的行为。
返回值
如果程序(在它所能尽力得知的范围内)正在调试器的控制下运行,那么默认版本返回 true。
注解
该函数用意在于允许打印额外的输出以协助诊断问题、执行额外测试代码、显示有助于调试的额外用户界面,等等。
该函数将许多现存设施进行了标准化:boost.test 的 under_debugger
、Windows API 的 IsDebuggerPresent()
、Catch2 的 isDebuggerActive
、Unreal Engine 的 IsDebuggerPresent
,等等。
功能特性测试宏 | 值 | 标准 | 功能特性 |
---|---|---|---|
__cpp_lib_debugging |
202311L | (C++26) | 调试支持库 |
202403L | (C++26) | 可替换的 std::is_debugger_present
|
参阅
(C++26) |
当调用时暂停运行中的程序 (函数) |
(C++26) |
如果 std::is_debugger_present 返回 true 则调用 std::breakpoint (函数) |