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?

Maciej Gryka
fonte

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).

Lou Franco
fonte
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.

Grrussel
fonte
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.

MSalters
fonte
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.

jorge
fonte
É 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.

Blubsiwubsi
fonte
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.

Yahya Hussein
fonte
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.

sAm
fonte
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

Andrushenko Alexander
fonte
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.

jpmc26
fonte