VS2012 - 如果在程序运行时调试与否,如何在运行时检查?

时间:2014-10-27 15:46:09

标签: debugging runtime

VS2012,C ++项目。

执行程序时,我可以使用“Start Debugging”或“Start Without Debugging”。

是否可以在运行时检索该信息?

我的目标是创建一个log.txt文件,我想将该信息写入其中。

1 个答案:

答案 0 :(得分:0)

VisualStudio生成_DEBUGNDEBUG作为定义。你可以在编译时检查它。说你在运行时检查这个事实是错误的。编译一次代码后,您将拥有一个带或不带调试符号的可执行文件。这意味着您只能在编译时检查构建类型。

#ifdef _DEBUG
    std::cout << "DEBUG\n";
#else
    std::cout << "RELEASE\n";
#endif

修改 在您的情况下,您可以调用IsDebuggerPresent()函数(不要忘记包含Windows.h)来确定运行类型。