Lo que escribí antes: No he usado C/C++ para programar durante mucho tiempo. Esta vez, cuando estaba depurando el código C/C++ en vscode en una computadora MAC, descubrí que no podía ingresar declaraciones de entrada como como scanf y cin. Me remití a algunos tutoriales en línea. Me resultó un poco engorroso o difícil resolver mi problema. Por lo tanto, este artículo se utiliza para registrar la solución final. En primer lugar, es para registrarlo para que podamos resolverlo la próxima vez que lo encontremos. En segundo lugar, esperamos comunicarnos y discutir con todos.
1. Descripción del problema
Aquí hay un ejemplo simple de entrada y salida para ilustrar el problema que encontré. Cuando depuro, encuentro que la salida del programa está en la consola de depuración y no puedo realizar entradas aquí. (Es decir, la declaración correspondiente a scanf no se puede impulsar más).
Por lo tanto, necesito encontrar una manera de resolver el problema de no poder ingresar datos durante la depuración.
2. Solución
(Hay muchas soluciones, aquí elijo el método que creo que es más fácil de realizar)
Paso 1: descargue los complementos relevantes (este paso se cubrirá brevemente)
Instale la extensión CodeLLDB.
Paso 2: generar archivo ejecutable
Aquí puede ingresar el comando g++ directamente en la terminal o hacer clic directamente en el botón ejecutar en la esquina superior derecha de vscode.
Después de este paso, encontraremos que el archivo ejecutable se genera en el directorio actual. En este punto, podemos comenzar a depurar.
Paso 3: Depuración (modificar launch.json
archivos)
Presione fn+F5
(se recomienda no seleccionar el botón de depuración en la esquina superior derecha para este método) y seleccione el depurador LLDB.
.vscode
Puede ver que hay más carpetas en el directorio actual y launch.json
los archivos se crean automáticamente. (En este momento, la depuración directa informará un error/aún no puede manejar el problema de entrada)
Aquí necesitamos modificar dos lugares:
1. Utilice el terminal integrado para ejecutar y depurar el programa: agregue "terminal": "integrado",
2. Ejecute el archivo ejecutable con el mismo nombre en el directorio donde se encuentra el archivo actual: modifique el atributo del programa a: "${workspaceFolder}/${fileBasenameNoExtension}"
Como se muestra en la siguiente imagen, para facilitar la copia, pegue esta configuración aquí:
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"terminal": "integrated",
"program": "${workspaceFolder}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}"
}
]
En este punto, se completa la modificación. En este punto, presionamos fn+F5 nuevamente y descubrimos que la depuración puede procesar nuestras declaraciones de entrada.
3. Cómo solucionar el problema de tener que modificar el archivo de configuración cada vez
En los pasos anteriores, se resolvió el problema de que la depuración no podía procesar la entrada en el proyecto actual. Pero si cambia un proyecto, aún tendrá que realizar las modificaciones de configuración anteriores nuevamente, lo cual es más problemático. Por lo tanto, considere resolver el problema de tener que volver a modificar el archivo de configuración cada vez. (Un método más simple es guardar el archivo de configuración como una plantilla y copiarlo en el nuevo proyecto). Aquí hay un método más conveniente: configure un archivo predeterminado en la configuración de usuario global de VSCode launch.json
.
Utilice la tecla de acceso directo command+,
para abrir la configuración. Haga clic en settings.json
, este archivo se utiliza para almacenar la configuración de usuario global para VS Code.
Busque "launch"
la propiedad nombrada, su valor es un objeto que contiene launch.json
el contenido del archivo que queremos configurar.
Según nuestro contenido en esta ocasión, se modifica de la siguiente manera:
Después de eso, incluso si creamos un nuevo proyecto, podemos procesar la entrada sin reconfigurar la depuración.
Nota personal: Python es un lenguaje de tipos interpretados y lo hace de manera diferente. Después de un poco de procesamiento, al depurar en esta computadora, simplemente presione el botón de depuración en la esquina superior derecha y seleccione depuración de Python para depurar.