在 Visual Studio 中使用命令行参数进行调试
Posted
技术标签:
【中文标题】在 Visual Studio 中使用命令行参数进行调试【英文标题】:Debugging with command-line parameters in Visual Studio 【发布时间】:2010-09-22 20:36:59 【问题描述】:我正在 Visual Studio 中开发 C++ 命令行应用程序,需要使用命令行参数对其进行调试。目前我只是用我需要的参数运行生成的 EXE 文件(比如program.exe -file.txt
),但是这样我无法调试。有什么地方可以指定调试参数吗?
【问题讨论】:
相关帖子 - Passing command line parameters with Visual Studio C# 【参考方案1】:我发现一些旧的命令行参数存储在我的启动项目源文件夹下的MyStartUpProject.csproj.user
文件中。删除此文件无效,Visual Studio 将其带回给我。我不得不编辑文件中的参数。
文件中的值没有显示在 VS、项目属性、调试中。在那里输入值会将它们附加到神秘的 MyStartUpProject.csproj.user
文件中的值。
【讨论】:
【参考方案2】: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 调试器中启动程序。
【讨论】:
【参考方案3】:对于 VS 2015 及更高版本,使用 Smart Command Line Arguments 扩展名。此插件添加了一个窗口,可让您打开和关闭参数:
该扩展程序还将参数存储在 JSON 文件中,允许您将它们提交到源代码管理。除了确保您不必每次都输入所有参数之外,这还可以作为对文档的有用补充,以供其他开发人员发现可用选项。
【讨论】:
【参考方案4】:在带有 .NET Core 控制台应用程序的 Visual Studio 2017 中,执行以下操作:
在Solution窗口中右击Project,选择“Properties”,Debug(在左侧),然后在字段中输入参数 “应用程序参数”。
请注意,它们应该用空格分隔。
【讨论】:
【参考方案5】:在 Visual Studio 的 Solution 窗口中右键单击项目,选择 “Debugging”(在左侧),然后在字段中输入参数 “命令参数”:
【讨论】:
【参考方案6】:是的,它位于项目属性页面的调试部分。
自 2008 年以来在 Visual Studio 中:右键单击 项目,选择 Properties,转到 Debugging 部分 -- 有一个框对于“命令参数”。 (提示:不是解决方案,而是项目)。
【讨论】:
*** 是唯一可用的 MS 文档! 要小心。这不会更改实际的项目文件,而是更改 vcxproj.user-file。 注意:如果您的解决方案中有多个项目,请记住右键单击要运行的项目并“设置为启动项目”。 正确。但显然在VS2017中它不称为“调试”,而是“调试”。我们可能永远不知道为什么。 确保您在属性页面顶部的下拉列表中选择了正确的配置,即与您尝试运行的配置相同。【参考方案7】:这可能会帮助一些仍有问题的人。
我使用 Visual Studio 2015,只有在更改 argv
的定义时才能传递参数。
而不是
int main(int argc, char **argv)
我不得不使用
int main(int argc, char *argv[])
我不知道为什么它是必要的,但它确实有效。
【讨论】:
有同样的问题,但上面提到的两个声明都不起作用。由于我正在使用 64 位机器,因此解决方案是将平台从 x86 更改为 x64。【参考方案8】:Microsoft Visual Studio Ultima 2013。
你可以去调试菜单→主属性→配置属性→调试然后你会看到命令框行参数。
实际上,您可以为所有不同的配置设置相同的输入参数,而不仅仅是调试。
从配置下拉菜单中选择:所有配置并插入输入参数(每个参数用空格分隔)。
现在,您可以在不同的模式下执行程序,而无需每次都更改输入参数。
【讨论】:
它在 MS VS 2015 中也有点像。在我前往“调试-> projectname 属性”之前,我必须打开可通过下拉菜单访问的“配置管理器”,默认情况下包含“调试”和“发布”。弹出一个窗口,我可以在其中添加新的“配置”项目。这些项目在“Debug -> projectname properties”中可用。【参考方案9】:在 Visual Studio 2010 中,右键单击项目,选择 Properties,单击左侧窗格中的配置属性部分,然后单击 Debugging,然后在右侧窗格中出现是一个命令参数框。
在那输入命令行参数。你已准备好出发。现在调试并查看结果。如果您厌倦了更改属性,请暂时直接在程序中输入。
【讨论】:
【参考方案10】:即使您确实在 Visual Studio 之外启动了可执行文件,您仍然可以使用“附加”命令将 Visual Studio 连接到您已经运行的可执行文件。这可能很有用,例如当您的应用程序在另一个应用程序中作为插件运行时。
【讨论】:
是的,使用Ctrl+Alt+P
附加(或单击“调试”>“附加到进程...”)。但这并不能真正回答 OP 问题 ;)以上是关于在 Visual Studio 中使用命令行参数进行调试的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2015 调试中将“%”符号作为命令行参数 (argv) 传递?
Visual Studio单元测试和命令行参数,以避免源代码管理中的密码