在Visual Studio中,可以使用_DEBUG定义在“调试”和“发布”模式之间进行区分。但是,即使在发布模式下,也可以“开始调试”(F5)或“不进行调试开始”(Ctrl + F5)。是否存在可以区分这些的预处理器定义?
答案 0 :(得分:0)
开始调试表示在调试器中启动程序。
无需调试即可启动表示正常启动程序。
由于您在构建程序后 选择了其中一项操作(在Debug或 发布),不能有任何预处理器宏或其他编译时差异 在动作之间。
您的程序的Debug版本可以在调试器中运行,也可以运行 一般。您的程序的Release版本也可以在调试器中运行,或者 一般。但是,如果您在调试器中运行Release版本,则调试器的 能够正确或根本不显示程序内部状态的能力 给定的点可能会因为缺少有效的调试信息而受阻。
看来您想要的是能够在调试器中有效运行Release版本。
没有什么可以阻止您将Release版本配置为生成 调试信息,例如Debug版本:这不是默认设置。参见How to: Debug a Release Build
这可能是临时措施。在此调试版本时 这样,由于发布模式的优化,您观察到的程序流有时可能会出现意外情况。