I'm developing a C++ command-line application in Visual Studio and need to debug it with command-line arguments. At the moment I just run the generated EXE file with the arguments I need (like this program.exe -file.txt
) , but this way I can't debug. Is there somewhere I can specify the arguments for debugging?
10 Answers
The Mozilla.org FAQ on debugging Mozilla on Windows is of interest here.
In short, the Visual Studio debugger can be invoked on a program from the command line, allowing one to specify the command line arguments when invoking a command line program, directly on the command line.
This looks like the following for Visual Studio 8 or 9 (Visual Studio 2005 or Visual Studio 2008, respectively)
devenv /debugexe 'program name' 'program arguments'
It is also possible to have an explorer action to start a program in the Visual Studio debugger.
Microsoft Visual Studio Ultima 2013.
You can just go to the DEBUG menu → Main Properties → Configuration properties → Debugging and then you will see the box for the command line arguments.
Actually, you can set the same input arguments for all the different configurations and not only for debugging.
From the pull down menu of configuration select: All Configurations and insert the input arguments (each argument separated by space).
Now, you can execute your program in different modes without having to change the input arguments every time.
In Visual Studio 2017 with a .NET Core console application do the following:
Right click on the Project in the Solution window, select "Properties", Debug (on the left side), and enter the arguments into the field "Application Arguments".
Note that they should be space-separated.
With VS 2015 and up, Use the Smart Command Line Arguments extension. This plug-in adds a window that allows you to turn arguments on and off:
The extension additionally stores the arguments in a JSON file, allowing you to commit them to source control. In addition to ensuring you don't have to type in all the arguments every single time, this serves as a useful supplement to your documentation for other developers to discover the available options.
In Visual Studio 2010, right click the project, choose Properties, click the configuring properties section on the left pane, then click Debugging, then on the right pane there is a box for command arguments.
In that enter the command line arguments. You are good to go. Now debug and see the result. If you are tired of changing in the properties then temporarily give the input directly in the program.
I found some old command line arguments stored in a MyStartUpProject.csproj.user
file under my startup-project's source folder. Deleting this file didnt work, Visual Studio brought it back for me. I had to edit the arguments in the file.
The values in the file did not show up in VS, Project Properties, Debugging. Entering values there appended them to the values in the mysterious MyStartUpProject.csproj.user
file.