Depurando com parâmetros de linha de comando no Visual Studio


513

Estou desenvolvendo um aplicativo de linha de comando C ++ no Visual Studio e preciso depurá-lo com argumentos de linha de comando. No momento, apenas executo o arquivo EXE gerado com os argumentos de que preciso (assim program.exe -file.txt), mas dessa forma não consigo depurar. Existe algum lugar para especificar os argumentos para depuração?


Respostas:


755

Sim, está na Depuração seção da página de propriedades do projeto.

No Visual Studio desde 2008: clique com o botão direito do mouse no projeto , escolha Propriedades , vá para a seção Depuração - há uma caixa para "Argumentos de comando". (Dica: não solução, mas projeto).


297
Stackoverflow é a única documentação utilizável do MS!
Martin Beckett

12
Tenha cuidado com isso. Isso não altera o arquivo de projeto real, mas o arquivo vcxproj.user-vez.
TheTrowser

Nota: se você possui vários projetos em uma solução, lembre-se de clicar com o botão direito do mouse no projeto que deseja executar e em "Definir como Projeto de Inicialização".
Lion Lai

1
Spot on. Mas aparentemente no VS2017 não é chamado "Depuração", mas "Depuração". Talvez nunca saibamos o porquê.
OmarL

3
Verifique se a configuração correta foi selecionada no menu suspenso na parte superior das páginas de propriedades, ou seja, a mesma configuração que você está tentando executar.
9788 Steve

55

A FAQ do Mozilla.org sobre depuração do Mozilla no Windows é interessante aqui.

Em resumo, o depurador do Visual Studio pode ser chamado em um programa na linha de comando, permitindo especificar os argumentos da linha de comando ao chamar um programa de linha de comando, diretamente na linha de comando.

Parece o seguinte para o Visual Studio 8 ou 9 (Visual Studio 2005 ou Visual Studio 2008, respectivamente)

  devenv / debugexe 'nome do programa' 'argumentos do programa'

Também é possível ter uma ação do explorador para iniciar um programa no depurador do Visual Studio.


17

Mesmo se você iniciar o executável fora do Visual Studio, ainda poderá usar o comando "Anexar" para conectar o Visual Studio ao seu executável já em execução. Isso pode ser útil, por exemplo, quando seu aplicativo é executado como um plug-in em outro aplicativo.


Sim, anexe com Ctrl+Alt+P(ou clique em "Depurar"> "Anexar ao processo ..."). Mas isso realmente não responder à pergunta OP;)
T_d

7

Microsoft Visual Studio Ultima 2013.

Você pode apenas ir para o menu DEBUG → Propriedades principalPropriedades de Configuraçãodepuração e, em seguida, você verá a caixa para os argumentos de linha de comando.

Na verdade, você pode definir os mesmos argumentos de entrada para todas as configurações diferentes e não apenas para depuração.

No menu suspenso da configuração, selecione: Todas as configurações e insira os argumentos de entrada (cada argumento separado por espaço).

Agora, você pode executar seu programa em modos diferentes sem precisar alterar os argumentos de entrada todas as vezes.


É meio que funciona assim no MS VS 2015 também. Antes de ir para "Debug-> {projectname} properties", tive que abrir o "Configuration Manager" acessível através do menu suspenso que contém por padrão "Debug" e "Release". Uma janela apareceu onde eu pude adicionar novos itens de "Configuração". Esses itens estão disponíveis em "Debug -> {projectname} properties".
AMartinNo1

2

Isso pode ajudar algumas pessoas que ainda têm problemas. Eu uso o Visual Studio 2015 e só pude passar os argumentos quando alterei a definição de argv.

Ao invés de

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

Eu tive que usar

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

Não sei por que era necessário, mas funciona.


O que é isso? C ++ nativo? Gerenciado por C ++ (.NET)?
Peter Mortensen

Teve o mesmo problema, mas as duas declarações mencionadas acima não funcionaram. A solução estava mudando a plataforma de x86 para x64, pois estou trabalhando em uma máquina de 64 bits.
hfrmobile 6/03

2

No Visual Studio 2017 com um .NET Core aplicativo de console do , faça o seguinte:

Clique com o botão direito do mouse no projeto na janela Solução , selecione "Propriedades", Depurar (no lado esquerdo) e insira os argumentos no campo "Argumentos do aplicativo" .

Observe que eles devem ser separados por espaço.


1

No Visual Studio 2010, clique com o botão direito do mouse no projeto, escolha Propriedades , clique na seção de configuração de propriedades no painel esquerdo e clique em Depuração , no painel direito, há uma caixa para argumentos de comando.

Nele insira os argumentos da linha de comando. Você está pronto para ir. Agora depure e veja o resultado. Se você está cansado de alterar as propriedades, forneça temporariamente a entrada diretamente no programa.


1

Clique com o botão direito do mouse no projeto na janela Solução do Visual Studio, selecione "Depuração" (no lado esquerdo) e insira os argumentos no campo "Argumentos de comando" :

Digite a descrição da imagem aqui


1

Com o VS 2015 e superior, use a extensão Argumentos da linha de comando inteligente . Este plug-in inclui uma janela que permite ativar e desativar argumentos:

Interface de argumentos da linha de comando inteligente

A extensão também armazena os argumentos em um arquivo JSON, permitindo que você os confirme no controle de origem. Além de garantir que você não precise digitar todos os argumentos todas as vezes, isso serve como um complemento útil à sua documentação para outros desenvolvedores descobrirem as opções disponíveis.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.