【发布时间】:2010-09-22 20:36:59
【问题描述】:
我正在 Visual Studio 中开发 C++ 命令行应用程序,需要使用命令行参数对其进行调试。目前我只是用我需要的参数运行生成的 EXE 文件(比如program.exe -file.txt),但是这样我无法调试。有什么地方可以指定调试参数吗?
【问题讨论】:
标签: c++ visual-studio debugging command-line
我正在 Visual Studio 中开发 C++ 命令行应用程序,需要使用命令行参数对其进行调试。目前我只是用我需要的参数运行生成的 EXE 文件(比如program.exe -file.txt),但是这样我无法调试。有什么地方可以指定调试参数吗?
【问题讨论】:
标签: c++ visual-studio debugging command-line
我发现一些旧的命令行参数存储在我的启动项目源文件夹下的MyStartUpProject.csproj.user 文件中。删除此文件无效,Visual Studio 将其带回给我。我不得不编辑文件中的参数。
文件中的值没有显示在 VS、项目属性、调试中。在那里输入值会将它们附加到神秘的 MyStartUpProject.csproj.user 文件中的值。
【讨论】:
Mozilla.org FAQ on debugging Mozilla on Windows 在这里很有趣。
简而言之,可以从命令行对程序调用 Visual Studio 调试器,允许在调用命令行程序时直接在命令行上指定命令行参数。
Visual Studio 8 或 9(分别为 Visual Studio 2005 或 Visual Studio 2008)如下所示
devenv /debugexe '程序名称' '程序参数'也可以使用explorer action 在 Visual Studio 调试器中启动程序。
【讨论】:
对于 VS 2015 及更高版本,使用 Smart Command Line Arguments 扩展名。此插件添加了一个窗口,可让您打开和关闭参数:
该扩展程序还将参数存储在 JSON 文件中,允许您将它们提交到源代码管理。除了确保您不必每次都输入所有参数之外,这还可以作为对文档的有用补充,以供其他开发人员发现可用选项。
【讨论】:
在带有 .NET Core 控制台应用程序的 Visual Studio 2017 中,执行以下操作:
在Solution窗口中右击Project,选择“Properties”,Debug(在左侧),然后在字段中输入参数 “应用程序参数”。
请注意,它们应该用空格分隔。
【讨论】:
是的,它位于项目属性页面的调试部分。
自 2008 年以来在 Visual Studio 中:右键单击 项目,选择 Properties,转到 Debugging 部分 -- 有一个框对于“命令参数”。 (提示:不是解决方案,而是项目)。
【讨论】:
这可能会帮助一些仍有问题的人。
我使用 Visual Studio 2015,只有在更改 argv 的定义时才能传递参数。
而不是
int main(int argc, char **argv){
}
我不得不使用
int main(int argc, char *argv[]){
}
我不知道为什么它是必要的,但它确实有效。
【讨论】:
Microsoft Visual Studio Ultima 2013。
你可以去调试菜单→主属性→配置属性→调试然后你会看到命令框行参数。
实际上,您可以为所有不同的配置设置相同的输入参数,而不仅仅是调试。
从配置下拉菜单中选择:所有配置并插入输入参数(每个参数用空格分隔)。
现在,您可以在不同的模式下执行程序,而无需每次都更改输入参数。
【讨论】:
在 Visual Studio 2010 中,右键单击项目,选择 Properties,单击左侧窗格中的配置属性部分,然后单击 Debugging,然后在右侧窗格中出现是一个命令参数框。
在那输入命令行参数。你已准备好出发。现在调试并查看结果。如果您厌倦了更改属性,请暂时直接在程序中输入。
【讨论】:
即使您确实在 Visual Studio 之外启动了可执行文件,您仍然可以使用“附加”命令将 Visual Studio 连接到您已经运行的可执行文件。这可能很有用,例如当您的应用程序在另一个应用程序中作为插件运行时。
【讨论】:
Ctrl+Alt+P 附加(或单击“调试”>“附加到进程...”)。但这并不能真正回答 OP 问题 ;)