Ce que j'ai écrit auparavant : Je n'ai pas utilisé C/C++ pour programmer depuis longtemps. Cette fois, lorsque je débogais le code C/C++ dans vscode sur un ordinateur MAC, j'ai découvert que je ne pouvais pas saisir les instructions d'entrée telles que comme scanf et cin. J'ai fait référence à certains tutoriels en ligne. , j'ai trouvé un peu lourd ou difficile de résoudre mon problème. Par conséquent, cet article est utilisé pour enregistrer la solution finale. Premièrement, c'est pour enregistrer afin que nous puissions la résoudre la prochaine fois que nous la rencontrerons. Deuxièmement, nous espérons communiquer et discuter avec tout le monde.
1. Description du problème
Voici un exemple simple d'entrée et de sortie pour illustrer le problème que j'ai rencontré. Lorsque je débogue, je constate que la sortie du programme se trouve dans la console de débogage et je ne peux pas effectuer de saisie ici. (C'est-à-dire que l'instruction correspondant à scanf ne peut pas être poussée plus loin).
Par conséquent, je dois trouver un moyen de résoudre le problème de l’impossibilité de saisir pendant le débogage.
2. Solutions
(Il existe de nombreuses solutions, je choisis ici la méthode qui me semble la plus simple à réaliser)
Étape 1 : Téléchargez les plug-ins pertinents (cette étape sera brièvement abordée)
Installez l'extension CodeLLDB.
Étape 2 : Générer un fichier exécutable
Ici, vous pouvez soit entrer la commande g++ directement dans le terminal, soit cliquer directement sur le bouton Exécuter dans le coin supérieur droit de vscode.
Après cette étape, nous constaterons que le fichier exécutable est généré dans le répertoire courant. À ce stade, nous pouvons commencer le débogage.
Étape 3 : Débogage (modifier launch.json
les fichiers)
Appuyez sur fn+F5
(il est recommandé de ne pas sélectionner le bouton de débogage dans le coin supérieur droit pour cette méthode) et sélectionnez le débogueur LLDB.
.vscode
Vous pouvez voir qu'il y a plus de dossiers dans le répertoire actuel et launch.json
que les fichiers sont automatiquement créés. (À ce stade, le débogage direct signalera une erreur/ne pourra toujours pas gérer le problème d'entrée)
Ici, nous devons modifier deux endroits :
1. Utilisez le terminal intégré pour exécuter et déboguer le programme : ajoutez "terminal": "intégré",
2. Exécutez le fichier exécutable du même nom dans le répertoire où se trouve le fichier actuel : modifiez l'attribut du programme en : "${workspaceFolder}/${fileBasenameNoExtension}"
Comme le montre l'image ci-dessous, pour faciliter la copie, collez cette configuration ici :
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"terminal": "integrated",
"program": "${workspaceFolder}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}"
}
]
À ce stade, la modification est terminée. À ce stade, nous appuyons à nouveau sur fn+F5 et constatons que le débogage peut traiter nos instructions d'entrée.
3. Comment résoudre le problème de la nécessité de modifier le fichier de configuration à chaque fois
Dans les étapes ci-dessus, le problème de l'incapacité du débogage à traiter les entrées dans le cadre du projet en cours a été résolu. Mais si vous modifiez un projet, vous devez quand même refaire les modifications de configuration ci-dessus, ce qui est plus gênant. Par conséquent, envisagez de résoudre le problème de la nécessité de re-modifier le fichier de configuration à chaque fois. (Une méthode plus simple consiste à enregistrer le fichier de configuration en tant que modèle et à le copier dans le nouveau projet.) Voici une méthode plus pratique : configurez un fichier par défaut dans les paramètres utilisateur globaux de VSCode launch.json
.
Utilisez la touche de raccourci command+,
pour ouvrir les paramètres. Cliquez sur settings.json
, ce fichier est utilisé pour stocker les paramètres utilisateur globaux pour VS Code.
Recherchez "launch"
la propriété nommée, sa valeur est un objet qui contient launch.json
le contenu du fichier que nous voulons configurer.
Selon notre contenu cette fois, il est modifié comme suit :
Après cela, même si nous créons un nouveau projet, nous pouvons traiter les entrées sans reconfigurer le débogage.
Note personnelle : Python est un langage de types interprété et le fait différemment. Après quelques traitements, lors du débogage sur cet ordinateur, appuyez simplement sur le bouton de débogage dans le coin supérieur droit et sélectionnez le débogage Python pour déboguer.