Debugging VS2012-如何在运行时检查程序是否通过调试运行? VS2012,C++ Proj.

Debugging VS2012-如何在运行时检查程序是否通过调试运行? VS2012,C++ Proj.,debugging,runtime,Debugging,Runtime,当我执行程序时,我可以使用启动调试或不调试启动 是否可以在运行时检索该信息 我的目标是创建一个log.txt文件,并将该信息写入其中。VisualStudio将生成调试和NDEBUG作为定义。您可以在编译时检查它。如果说您正在运行时检查这个事实,那就错了。编译代码一次后,您将拥有一个可执行文件,其中包含或不包含调试符号。这意味着您只能在编译时检查构建类型 #ifdef _DEBUG std::cout << "DEBUG\n"; #else std::cout <

当我执行程序时,我可以使用启动调试或不调试启动

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

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

VisualStudio将生成调试和NDEBUG作为定义。您可以在编译时检查它。如果说您正在运行时检查这个事实,那就错了。编译代码一次后,您将拥有一个可执行文件,其中包含或不包含调试符号。这意味着您只能在编译时检查构建类型

#ifdef _DEBUG
    std::cout << "DEBUG\n";
#else
    std::cout << "RELEASE\n";
#endif
编辑
在您的情况下,只需调用IsDebuggerPresent函数,不要忘记包含Windows.h来确定运行类型。

这不是我的问题。。在每种模式下,您都可以运行调试或不调试。@brkeyal,很抱歉,我的错。我已经更新了答案,希望能有所帮助。