Отладка с параметрами командной строки в Visual Studio


514

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


Ответы:


757

Да, это в разделе « Отладка » на странице свойств проекта.

В Visual Studio с 2008 года: щелкните правой кнопкой мыши проект , выберите « Свойства» , перейдите в раздел « Отладка » - здесь есть поле для «Аргументы команд». (Совет: не решение, а проект).


298
Stackoverflow - единственная используемая документация MS!
Мартин Беккет

12
Будьте осторожны с этим. Это не изменит фактический файл проекта, но вместо этого vcxproj.user-файл.
TheTrowser

Примечание: если у вас есть мультипроект в решении, не забудьте щелкнуть правой кнопкой мыши по проекту, который вы хотите запустить, и «Установить как проект запуска».
Лев Лай

1
Пятно на. Но, видимо, в VS2017 это называется не «Отладка», а «Отладка». Возможно, мы никогда не узнаем почему.
OmarL

3
Убедитесь, что в раскрывающемся списке вверху страниц свойств выбрана правильная конфигурация, т. Е. Та же конфигурация, что и та, которую вы пытаетесь запустить.
Стив Смит

55

Mozilla.org FAQ по отладке Mozilla на Windows , , представляет интерес здесь.

Короче говоря, отладчик Visual Studio может быть вызван в программе из командной строки, что позволяет указывать аргументы командной строки при вызове программы командной строки непосредственно в командной строке.

Это выглядит следующим образом для Visual Studio 8 или 9 (Visual Studio 2005 или Visual Studio 2008, соответственно)

  devenv / debugexe 'имя программы' 'аргументы программы'

Также возможно иметь действие проводника для запуска программы в отладчике Visual Studio.


17

Даже если вы запускаете исполняемый файл вне Visual Studio, вы все равно можете использовать команду «Присоединить» для подключения Visual Studio к уже запущенному исполняемому файлу. Это может быть полезно, например, когда ваше приложение запускается как плагин в другом приложении.


Да, присоедините с помощью Ctrl+Alt+P(или нажмите «Отладка»> «Присоединить к процессу ...»). Но это на самом деле не отвечает на вопрос ОП;)
T_D

7

Microsoft Visual Studio Ultima 2013.

Вы можете просто перейти в меню DEBUG → Основные свойстваСвойства конфигурацииОтладка. и тогда вы увидите поле для аргументов командной строки.

На самом деле вы можете установить одинаковые входные аргументы для всех различных конфигураций, а не только для отладки.

В раскрывающемся меню конфигурации выберите: Все конфигурации и введите входные аргументы (каждый аргумент разделяется пробелом).

Теперь вы можете выполнять свою программу в разных режимах без необходимости каждый раз изменять входные аргументы.


Это вроде как работает и в MS VS 2015. Прежде чем перейти к «Debug-> {projectname} properties», мне пришлось открыть «Configuration Manager», доступный через выпадающий список, содержащий по умолчанию «Debug» и «Release». Появилось окно, где я смог добавить новые элементы «Конфигурация». Эти элементы доступны в свойствах «Debug -> {projectname}».
AMartinNo1

2

Это может помочь некоторым людям, у которых все еще есть проблемы. Я использую Visual Studio 2015 и могу передавать аргументы только при изменении определенияargv .

Вместо

int main(int argc, char **argv){
}

Я должен был использовать

int main(int argc, char *argv[]){
}

Я не знаю, почему это было необходимо, но это работает.


Что это? Родной C ++? C ++ удалось (.NET)?
Питер Мортенсен

Была та же проблема, но обе упомянутые выше декларации не работали. Решением было изменение платформы с x86 на x64, так как я работаю на 64-битной машине.
hfrmobile

2

В Visual Studio 2017 с .NET Core консольным приложением выполните следующие действия:

Щелкните правой кнопкой мыши на Project в окне Solution , выберите «Properties», « Debug» (слева) и введите аргументы в поле «Аргументы приложения». .

Обратите внимание, что они должны быть разделены пробелами.


1

В Visual Studio 2010 щелкните проект правой кнопкой мыши, выберите « Свойства» , щелкните раздел настройки свойств на левой панели, затем нажмите « Отладка». , а затем на правой панели появится поле для аргументов команды.

В этом введите аргументы командной строки. Тебе хорошо идти. Теперь отлаживаем и видим результат. Если вы устали от изменения в свойствах, то временно вводите данные непосредственно в программе.


1

Щелкните правой кнопкой мыши по проекту в окне « Решение» Visual Studio, выберите «Отладка» (слева) и введите аргументы в поле «Командные аргументы» :

Введите описание изображения здесь


1

В VS 2015 и более поздних версиях используйте расширение аргументов Smart Command Line . Этот плагин добавляет окно, которое позволяет вам включать и выключать аргументы:

Интерфейс аргументов Smart Command Line

Расширение дополнительно хранит аргументы в файле JSON, что позволяет вам передать их в систему контроля версий. В дополнение к тому, что вам не нужно вводить все аргументы каждый раз, это служит полезным дополнением к вашей документации для других разработчиков, чтобы обнаружить доступные варианты.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.