Passar argumentos de linha de comando durante a depuração (C++)

No Visual C++, use a lista suspensa de argumentos de linha de comando para especificar ou reutilizar rapidamente argumentos de linha de comando durante a depuração.

Pré-requisitos

Especificar argumentos de linha de comando

A lista suspensa de argumentos de linha de comando está disponível na barra de ferramentas Padrão . Se a barra de ferramentas Padrão não estiver visível, no menu principal do Visual Studio, escolha Ferramentas>Personalizar. Na caixa de diálogo Personalizar, escolha Barras de ferramentas. Em seguida, selecione Padrão.

Uma captura de tela da caixa de diálogo Personalizar.

A guia Barras de ferramentas é selecionada na caixa de diálogo Personalizar. A entrada para Padrão, ou seja, a barra de ferramentas padrão, é selecionada.

A lista suspensa de argumentos de linha de comando segue a lista suspensa Plataformas de soluções na barra de ferramentas Padrão . Se nenhum argumento tiver sido especificado, a lista suspensa estará vazia e a dica de ferramenta exibirá "vazio".

Uma captura de tela da lista suspensa de argumentos de linha de comando.

A lista suspensa de argumentos da linha de comando é mostrada após a lista suspensa Plataformas de Soluções na barra de ferramentas Padrão. O menu suspenso está vazio. Uma dica de ferramenta diz "vazio".

Quando você adiciona argumentos de linha de comando, a dica de ferramenta mostra a lista de argumentos selecionada para que você possa ver todos os argumentos.

Para adicionar argumentos de linha de comando, digite-os na lista suspensa e pressione Enter. Os argumentos são salvos na ordem em que você os insere e aparecem na lista suspensa para uso futuro. Há um limite de cinco linhas de comando que você pode adicionar antes que a mais antiga seja removida para abrir espaço para uma nova.

Neste exemplo, o argumento -arg1 de linha de comando é adicionado à lista suspensa:

Uma captura de tela da lista suspensa de argumentos de linha de comando. Ele contém o valor -arg1.

Adicionar outro argumento, -arg2, resulta em:

Uma captura de tela da lista suspensa de argumentos de linha de comando. Ele contém o valor -arg1 -arg2.

Você pode usar a lista suspensa para selecionar argumentos de linha de comando especificados anteriormente para passar para o aplicativo que você está depurando. Considere o seguinte código:

#include <iostream>

int main(int argc, char* argv[]) 
{
    for (int i = 1; i < argc; ++i) // argv[0] is the path of the running program
    {
        std::cout << "Argument " << i << ": " << argv[i] << std::endl;
    }
    return 0;
}

Neste exemplo, os -arg1 -arg2 argumentos são selecionados na lista suspensa de argumentos de linha de comando:

Uma captura de tela da lista suspensa de argumentos de linha de comando. A entrada para '-arg1 -arg2' é selecionada.

O que resulta nessa saída quando o aplicativo é executado:

Argument 1: -arg1
Argument 2: -arg2

A lista suspensa de argumentos de linha de comando é uma maneira conveniente de especificar e reutilizar argumentos de linha de comando. Especialmente quando você precisa alternar rapidamente entre diferentes argumentos para diferentes cenários que está testando.

Você também pode clicar no menu suspenso de argumentos de linha de comando e pressionar Ctrl+C para copiar a linha de comando realçada para a área de transferência.

Relação com as configurações do projeto

Outra maneira de especificar argumentos de linha de comando é nas configurações do projeto.

Se você clicar com o botão direito do mouse no projeto no Gerenciador de Soluções e escolher Propriedades, poderá especificar argumentos de linha de comando em Depuração de>Argumentos de Comando.

Uma captura de tela das opções de depuração das páginas de propriedades do projeto.

A entrada Argumentos de Comando é mostrada e tem os mesmos argumentos que a lista suspensa de argumentos de linha de comando: -arg1 -arg2.

Os argumentos de linha de comando especificados nas configurações do projeto são adicionados à lista suspensa de argumentos de linha de comando. Por outro lado, se você selecionar argumentos na lista suspensa de argumentos de linha de comando, eles substituirão os argumentos especificados nas configurações do projeto. De qualquer forma, você especifica os argumentos, eles são mantidos em sincronia. Ambos são salvos com as configurações do projeto, para que estejam disponíveis quando você reabrir o projeto.