首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Debug.Assert以发布模式显示

Debug.Assert以发布模式显示
EN

Stack Overflow用户
提问于 2010-06-11 17:05:20
回答 6查看 9.5K关注 0票数 18

我们都知道,在发布模式下编译时,Debug.Assert不会被编译到dlls中。但是出于某种原因,Debug.Assert确实出现在我编写的一个组件的发布版本中。我怀疑我可能搞乱了我的csproject设置。

你知道为什么Debug.Assert会出现在发布模式下吗?

P/S:在问这个问题之前,我已经仔细检查过了,以确保我真的是在发布模式下编译。

注意2:我仔细检查了我的csproject,我发现在发布配置中,定义调试常量没有被勾选,这表明我对这个部分的设置是正确的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-06-11 17:28:07

我找到了答案;这是因为在项目中cs文件的开头定义了一个#define DEBUG预处理器。移除它就解决了问题

票数 17
EN

Stack Overflow用户

发布于 2010-06-11 17:11:34

检查项目文件中的DefineConstants属性,它应该是:

适用于

  • <DefineConstants>DEBUG;TRACE</DefineConstants> configuration
  • <DefineConstants>TRACE</DefineConstants> configuration

Release的调试

检查代码中是否没有任何#define DEBUG

票数 28
EN

Stack Overflow用户

发布于 2010-06-11 17:31:41

请记住,“发布模式”只是一个名称为"Release“的构建配置。这并不意味着所使用的编译设置有任何含义:完全有可能创建一个名为"Release“的配置,该配置实际编译具有调试设置的所有内容。或者,实际上,根本不编译任何东西!

其他答案建议了几个可以查看的地方-但基本上听起来您的项目或解决方案设置已经重新配置了“发布”构建,以包括调试信息。

关于尚未提到的可能性:在VS中,如果您下拉构建配置组合框(通常选择"Debug“或"Release")并选择"Configuration Manager”,您可以看到每个解决方案构建配置对每个项目的意义。您将注意到,例如,您可以在解决方案上配置一个"Release“构建,以便仍然在Debug模式下构建一些组件。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3021538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档