【问题标题】:C++ VS2010 not using my Debug command line argsC++ VS2010 不使用我的调试命令行参数
【发布时间】:2013-05-06 19:31:12
【问题描述】:

在 VS2010 中,我在项目设置->调试->命令行参数中设置命令行参数:

-d 48000 1 -raw test1.opus test1_decoded.raw

但是,当我调试项目并查看

中的 argv[]
int main(int argc, char *argv[])
{

}

... 我可以看到这些命令行参数丢失了。 相反,命令行参数 argv 只有正在调试的 exe 的路径。我看到如果我将鼠标移到 argv 上。

有人知道我可能做错了什么吗?

感谢您的帮助。

【问题讨论】:

    标签: c++ visual-studio-2010 command-line-arguments


    【解决方案1】:

    但是,当我调试项目并查看 argv[]...

    根据您的描述和代码,我假设您将鼠标悬停在 argv 上或在监视窗口中查看它。 argv 是指向char 的指针。调试器不知道它包含多少元素。它会显示第一个元素 i.e.,*argv`),但不会再显示了,因为根本没有安全、标准的方法。

    您的命令行参数在那里,但调试器无法确定要在 UI 中显示多少元素。查看argc的值;这应该与您的可执行文件路径的参数数量 +1 匹配。

    【讨论】:

    • 另外,强制重新编译也是必要的。我以为 VS2010 会在更改 cmd 行 args 后自动执行此操作,但事实并非如此。
    • @tmighty:这很有趣。您确定在再次运行之前确实保存了设置吗?命令行参数与编译后的二进制文件无关。
    • @tmighty 为什么仅仅因为你改变了命令行参数,系统就应该重新编译任何东西?
    猜你喜欢
    • 2013-03-22
    • 2012-09-16
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2013-12-16
    相关资源
    最近更新 更多