Я разрабатываю приложение командной строки C++ в Visual Studio, и мне нужно отладить его с помощью аргументов командной строки. На данный момент я просто запускаю сгенерированный EXE-файл с необходимыми мне аргументами (например, этот program.exe -file.txt), но таким способом я не могу отлаживать. Где я могу указать аргументы для отладки?





Да, он находится в разделе Отладка на странице свойств проекта.
В Visual Studio с 2008 года: щелкните правой кнопкой мыши проект, выберите Характеристики, перейдите в раздел Отладка - там есть поле «Командные аргументы». (Совет: не решение, а проект).
Stackoverflow - единственная используемая документация MS!
Будьте осторожны с этим. Это изменит не сам файл проекта, а файл vcxproj.user.
Примечание: если у вас есть несколько проектов в решении, не забудьте щелкнуть правой кнопкой мыши проект, который вы хотите запустить, и «Установить как запускаемый проект».
Пятно на. Но, видимо, в VS2017 это называется не «Отладка», а «Отладка». Возможно, мы никогда не узнаем почему.
Убедитесь, что в раскрывающемся списке вверху страниц свойств выбрана правильная конфигурация, т.е. та же конфигурация, что и та, которую вы пытаетесь запустить.
Команда Аргументы. Фактический исполняемый файл указан в Командование. Проблема, с которой я столкнулся, заключалась в том, что я поместил исполняемый файл в Командные аргументы ... вздох. Спасибо за это @ lou-franco
@TheTrowser Можно ли установить аргументы из одного из обычно управляемых версий VS-файлов, например <project_name> .vcxproj?
@BernardoSOUSA Извините, я больше не работаю с VS. Возможно, кто-то еще может вам помочь.
Даже если вы запускаете исполняемый файл вне Visual Studio, вы все равно можете использовать команду «Присоединить» для подключения Visual Studio к уже запущенному исполняемому файлу. Это может быть полезно, например, когда ваше приложение запускается как подключаемый модуль в другом приложении.
Да, прикрепите с помощью Ctrl+Alt+P (или нажмите «Отладка»> «Присоединить к процессу ...»). Но это на самом деле не отвечает на вопрос OP;)
Здесь представляет интерес Mozilla.org FAQ по отладке Mozilla в Windows.
Короче говоря, отладчик Visual Studio может быть вызван в программе из командной строки, что позволяет указывать аргументы командной строки при вызове программы командной строки непосредственно в командной строке.
Это выглядит следующим образом для Visual Studio 8 или 9 (Visual Studio 2005 или Visual Studio 2008 соответственно)
devenv /debugexe 'program name' 'program arguments'
Также возможно иметь действие исследователя для запуска программы в отладчике Visual Studio.
В Visual Studio 2010 щелкните проект правой кнопкой мыши, выберите Характеристики, щелкните раздел свойств конфигурации на левой панели, затем щелкните Отладка, затем на правой панели появится поле для аргументов команды.
В этом введите аргументы командной строки. Тебе хорошо идти. Теперь отлаживайте и смотрите результат. Если вы устали изменять свойства, временно введите ввод прямо в программе.
Microsoft Visual Studio Ultima 2013.
Вы можете просто перейти в меню DEBUG → Основные свойства → Свойства конфигурации → Отладка, и тогда вы увидите поле для аргументов командной строки.
Фактически, вы можете установить одни и те же входные аргументы для всех различных конфигураций, а не только для отладки.
В раскрывающемся меню конфигурации выберите: Все конфигурации и вставьте входные аргументы (каждый аргумент разделен пробелом).
Теперь вы можете выполнять свою программу в разных режимах, не меняя каждый раз входные аргументы.
Это вроде как работает и в MS VS 2015. Прежде чем я перешел к «Отладка-> {projectname} properties», мне пришлось открыть «Configuration Manager», доступный через раскрывающийся список, содержащий по умолчанию «Debug» и «Release». Появилось окно, в котором я смог добавить новые элементы «Конфигурация». Эти элементы доступны в «Отладка -> Свойства {projectname}».
В Visual Studio 2017 с консольным приложением .NET Core выполните следующие действия:
Щелкните правой кнопкой мыши проект в окне Решение, выберите «Свойства», Отлаживать (слева) и введите аргументы в поле «Аргументы приложения».
Обратите внимание, что они должны быть разделены пробелами.
Это может помочь некоторым людям, у которых все еще есть проблемы.
Я использую Visual Studio 2015, и я мог передавать аргументы только тогда, когда я изменил определение argv.
Вместо
int main(int argc, char **argv){
}
Мне пришлось использовать
int main(int argc, char *argv[]){
}
Не знаю, зачем это было нужно, но работает.
Была та же проблема, но оба упомянутых выше объявления не работали. Решением было изменение платформы с x86 на x64, так как я работаю на 64-битной машине.
Начиная с VS 2015, используйте расширение Интеллектуальные аргументы командной строки. Этот плагин добавляет окно, которое позволяет вам включать и выключать аргументы:

Расширение дополнительно хранит аргументы в файле JSON, что позволяет фиксировать их в системе управления версиями. Помимо того, что вам не нужно вводить все аргументы каждый раз, это служит полезным дополнением к вашей документации, чтобы другие разработчики могли узнать о доступных вариантах.
Я нашел некоторые старые аргументы командной строки, хранящиеся в файле MyStartUpProject.csproj.user в исходной папке моего проекта запуска. Удаление этого файла не помогло, Visual Studio вернула его мне. Мне пришлось отредактировать аргументы в файле.
Значения в файле не отображались в VS, свойствах проекта, отладке. При вводе значений они добавлялись к значениям в таинственном файле MyStartUpProject.csproj.user.
Связанный пост - Передача параметров командной строки с помощью Visual Studio C#