23

I am debugging c++ console application with Visual studio. I exhausted of inserting the same input every time I debug this program. I would like to use the same input more times.

I do this without debugging in command line with command: Program.exe < 1.in

Is it possible to use debugging with standard input redirected from file???

I already tried looking in to procejt properties. I tried setting Command to $(TargetPath) < 1.in instead of $(TargetPath). I also tried setting Command Arguments to < 1.in. Niether of these method worked.

I am using Visual Studio 2012. But this is probably same in all versions of studio.

1

3 Answers 3

40

This is a supported debugging scenario. You do have to make sure that the debugger can find the file. Leave the Command setting at $(TargetPath). A possible value for the Command Arguments setting is:

 < "$(ProjectDir)test.txt"

if the input file "test.txt" is located in the project directory. Or type the full path of the file to be sure. The MSDN article that describes this feature is available here.

Sign up to request clarification or add additional context in comments.

3 Comments

Notes: The "Command line arguments" fields that worked for me was: < test.txt Where test.txt was in the .../<solution>/<package>/bin/Debug/ Remember to check your exact filename With a command line argument & standard in I had a "Command line arguments" field of: -hello < test.txt
This is a C++ question. But sure, it works in a C# or VB.NET project as well.
In vscode arguments in launch.json should be separated: "program": "${workspaceFolder}/robot_strategy.exe", "args": ["<", "${workspaceFolder}/robot_strategy.in"],
2

I just create a file called stdin.txt in the project 1) set the Build Action to Content 2) Copy to Ouput Directory: Copy if newer

Then when you build stdin.txt is copied to the same folder as the executable.

Then in project properties debug|command line arguements enter the following < stdin.txt

There is no need to use a path macro

Comments

0

If you don't want to mess with the the path you can add a new file with a right click on the source files folder in the solution explorer and then paste to it the content from the wanted file. And then change the command argument to the new file name.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.