Depuración con parámetros de línea de comandos en Visual Studio

514

Estoy desarrollando una aplicación de línea de comandos C ++ en Visual Studio y necesito depurarla con argumentos de línea de comandos. Por el momento, solo ejecuto el archivo EXE generado con los argumentos que necesito (como este program.exe -file.txt), pero de esta manera no puedo depurar. ¿Hay algún lugar donde pueda especificar los argumentos para la depuración?

Maciej Gryka
fuente

Respuestas:

756

Sí, está en la sección Depuración de la página de propiedades del proyecto.

En Visual Studio desde 2008: haga clic con el botón derecho en el proyecto , elija Propiedades , vaya a la sección Depuración ; hay un cuadro para "Argumentos de comando". (Consejo: no solución, sino proyecto).

Lou Franco
fuente
298
¡Stackoverflow es la única documentación de MS utilizable!
Martin Beckett el
12
Ten cuidado con eso. Esto no cambiará el archivo real del proyecto, sino el archivo vcxproj.user.
TheTrowser
Nota: si tiene un proyecto múltiple en una solución, recuerde hacer clic derecho en el proyecto que desea ejecutar y "Establecer como proyecto de inicio".
Lion Lai
1
Correcto. Pero aparentemente en VS2017 no se llama "Depuración", sino "Depuración". Puede que nunca sepamos por qué.
OmarL
3
Asegúrese de tener seleccionada la Configuración correcta en el menú desplegable en la parte superior de las páginas de Propiedades, es decir, la misma configuración que está intentando ejecutar.
Steve Smith
55

Las preguntas frecuentes de Mozilla.org sobre depuración de Mozilla en Windows son de interés aquí.

En resumen, el depurador de Visual Studio se puede invocar en un programa desde la línea de comandos, lo que permite especificar los argumentos de la línea de comandos al invocar un programa de línea de comandos, directamente en la línea de comandos.

Esto se parece a lo siguiente para Visual Studio 8 o 9 (Visual Studio 2005 o Visual Studio 2008, respectivamente)

  devenv / debugexe 'nombre del programa' 'argumentos del programa'

También es posible tener una acción de explorador para iniciar un programa en el depurador de Visual Studio.

grussel
fuente
17

Incluso si inicia el ejecutable fuera de Visual Studio, puede usar el comando "Adjuntar" para conectar Visual Studio a su ejecutable que ya se está ejecutando. Esto puede ser útil, por ejemplo, cuando su aplicación se ejecuta como un complemento dentro de otra aplicación.

MSalters
fuente
Sí, adjunte con Ctrl+Alt+P(o haga clic en "Depurar"> "Adjuntar para procesar ..."). Pero esto realmente no responde la pregunta de OP;)
T_D
7

Microsoft Visual Studio Ultima 2013.

Que sólo puede ir al menú Depuración → Propiedades PrincipalPropiedades de configuraciónDepuración y luego verá el cuadro de los argumentos de línea de comandos.

En realidad, puede establecer los mismos argumentos de entrada para todas las configuraciones diferentes y no solo para la depuración.

En el menú desplegable de configuración, seleccione: Todas las configuraciones e inserte los argumentos de entrada (cada argumento separado por espacio).

Ahora, puede ejecutar su programa en diferentes modos sin tener que cambiar los argumentos de entrada cada vez.

jorge
fuente
También funciona así en MS VS 2015. Antes de dirigirme a "Debug-> {projectname} properties" tuve que abrir el "Administrador de configuración" accesible a través del menú desplegable que contiene por defecto "Debug" y "Release". Apareció una ventana donde pude agregar nuevos elementos de "Configuración". Estos elementos están disponibles en "Depuración -> {projectname} propiedades".
AMartinNo1
2

Esto puede ayudar a algunas personas que todavía tienen problemas. Uso Visual Studio 2015 y solo pude pasar los argumentos cuando cambié la definición de argv.

En vez de

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

Tuve que usar

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

No sé por qué era necesario, pero funciona.

Blubsiwubsi
fuente
¿Que es esto? C ++ nativo? C ++ administrado (.NET)?
Peter Mortensen
Tuve el mismo problema, pero ambas declaraciones mencionadas anteriormente no funcionaron. La solución fue cambiar la plataforma de x86 a x64 ya que estoy trabajando en una máquina de 64 bits.
hfrmobile
2

En Visual Studio 2017 con una aplicación de consola .NET Core , haga lo siguiente:

Haga clic derecho en el Proyecto en la ventana Solución , seleccione "Propiedades", Depuración (en el lado izquierdo) e ingrese los argumentos en el campo "Argumentos de la aplicación" .

Tenga en cuenta que deben estar separados por espacios.

Yahya Hussein
fuente
1

En Visual Studio 2010, haga clic con el botón derecho en el proyecto, elija Propiedades , haga clic en la sección de propiedades de configuración en el panel izquierdo, luego haga clic en Depuración , luego en el panel derecho hay un cuadro para argumentos de comando.

En eso ingrese los argumentos de la línea de comando. Tú eres bueno para irte. Ahora depure y vea el resultado. Si está cansado de cambiar las propiedades, proporcione temporalmente la entrada directamente en el programa.

sAm
fuente
1

Haga clic derecho en el proyecto en la ventana Solución de Visual Studio, seleccione "Depuración" (en el lado izquierdo) e ingrese los argumentos en el campo "Argumentos de comandos" :

Ingrese la descripción de la imagen aquí

Andrushenko Alexander
fuente
1

Con VS 2015 y versiones posteriores, use la extensión Smart Command Line Arguments . Este complemento agrega una ventana que le permite activar y desactivar argumentos:

Interfaz de argumentos de línea de comando inteligente

La extensión además almacena los argumentos en un archivo JSON, lo que le permite confirmarlos en el control de origen. Además de asegurarse de que no tiene que escribir todos los argumentos cada vez, esto sirve como un complemento útil a su documentación para que otros desarrolladores descubran las opciones disponibles.

jpmc26
fuente