在 Visual Studio 中使用命令行输入文本进行调试

Posted

技术标签:

【中文标题】在 Visual Studio 中使用命令行输入文本进行调试【英文标题】:Debugging with command-line input text in visual studio 【发布时间】:2017-06-09 20:19:23 【问题描述】:

我在 Visual Studio 2012 中有 C++ 多项目,从中生成一个 .exe 文件,并且有一个巨大的 config.txt 文件包含许多输入参数。所以我在windows的命令行中通过这个命令运行我的程序: program.exe -c config.txt

现在我想调试这个程序,但我不能给它 config.txt 作为输入参数文件。 我尝试了Debugging with command-line parameters in Visual Studio的答案

但它没有提到如何将整个 .txt 文件提供给 Visual Studio,而不是在 properties->debugging->command argument 中键入参数

在 config.txt 我有这样的论点:

-numberOfImage 2 ./Lena.jpg ./Barbara.jpg

-imageDimensions 230 230

-minIntensity 0

-maxIntensity 255

还有更多我想在 .txt 文件中轻松更改它们的输入,而不是在命令参数中键入它们。如何将 config.txt 链接到调试器?

【问题讨论】:

您是否尝试在项目属性中将 config.txt 添加到项目命令行:调试 > 命令参数(在 VS 2017 中)。请注意,工作目录可能不是您认为的位置,因此请使用文件的完整绝对路径,直到您可以验证启动调试时工作目录是什么。 您也可以实际指定工作目录,执行位置在命令参数选项的正下方。 是的,文件的完整绝对路径。首先,带扩展名还是不带扩展名?我会再试一次。另一个问题,在命令参数中(在 VS 2012 中)我应该输入绝对路径吗? @BenjaminLindley 哦,那太好了。您的意思是具有“$(ProjectDir)”的工作目录。我可以清理它并粘贴带有扩展名的确切绝对地址吗? @patra:你不会放任何扩展名,因为它应该引用一个目录,而不是一个文件,并且目录没有扩展名。但是,是的,您可以在那里放置绝对路径。 【参考方案1】:

你可以:

    硬编码文件名

    使用输入流给另一个文件名

【讨论】:

我应该试试。你会描述更多吗?我有很多 if 命令与 "commandName" 进行比较。是否有更简单的方法来提供该 .txt 文件本身?

以上是关于在 Visual Studio 中使用命令行输入文本进行调试的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 9 构建的命令行应用程序不会将 *.NEF 作为输入,而使用 gcc 构建的相同应用程序会 - 为啥?

如何在Visual Studio Code 中运行 Python

在 Visual Studio 中使用命令行参数进行调试

如何在命令行中使用 Visual Studio 编译 x64 代码?

在 Visual Studio Code 中选择以结束/开始行

qmake 可以在 Visual Studio 项目中配置命令行选项吗?