在Visual C ++中调试代码时,获取argc为零,argv为null

时间:2014-08-19 12:11:19

标签: c++ visual-studio visual-studio-2012

我今天遇到了一个非常奇怪的问题。我为我的项目创建了四个配置,它们是

X86|Debug
X86|Release
X64|Debug
X64|Release

仅在X64|Release中,当我通过argc==0开始调试我的代码时,我总是得到argv==NULLF10/F11的主函数的两个参数。由于在其他3种配置中参数都可以!我曾尝试多次创建新的项目/解决方案,但问题仍然存在。

我的IDE是Win7 / x64中的visual studio 2012,请帮我找到问题,谢谢!

1 个答案:

答案 0 :(得分:3)

调试器对你说谎。

在发布版本中,Visual Studio通常会丢弃有关应用于代码的优化的过多信息,因此变量监视窗口通常会打印垃圾值。稍微简化这种情况的一种方法是使用the /d2Zi+ compile flag。只需将其添加为其他构建选项(项目属性 - > C ++ - >命令行 - >其他选项),您应该再次看到正确的值。