Récemment, j'apprends le développement de serveurs Web Linux. J'ai besoin de déboguer mon propre code C/C++ sous Linux. Cependant, Linux n'est pas aussi pratique que directement Visio Studio ou d'autres environnements de développement intégrés sous Windows. relativement problématique. Vous pouvez donc envisager d'utiliser VScode pour le développement à distance. Cependant, de nombreux tutoriels sur Internet ne sont pas très clairs. Après avoir essayé de nombreux tutoriels, j'ai rencontré de nombreux pièges. Le résumé final est le suivant. [Apprentissage recommandé : "Tutoriel vscode"]
Système distant : Ubuntu18.04 (machine virtuelle)
Hôte de développement : Windows10
sudo apt-get install openssh-server
sudo apt-get install gdb
sudo apt-get install gdbserver
Remarque :
Bien que vous souhaiterez peut-être réussir en une seule étape et tester votre programme final directement, il n'est pas recommandé de le faire. Il est recommandé de créer un nouveau programme hello and world pour tester d'abord, puis de déboguer votre propre code après succès.
cd ~/桌面 mkdir testvs cd testvs touch main.cpp gedit main.cpp
#include <stdio.h> int main() { int a = 1; printf("hello world\n"); getchar(); return 0; }</stdio.h>
g++ main.cpp -o main -g
Remarque :
g++ main.cpp -o main -g
注意:
(4)启动gdbserver
(4.1)首先看一下自己的ubuntu系统ip地址:
hostname -I
可以得到本地ip地址为192.168.199.131
(4.2)启动gdbserver(注意更改ip地址和测试文件目录)
gdbserver 192.168.199.131:2000 ~/桌面/testvs/main
Ajoutez l'option -g, sinon vous ne pouvez pas utiliser gdb pour déboguer
Après l'exécution, il y a deux fichiers main.cpp et main dans le testvs dossier
(4.1) Regardez d'abord l'adresse IP de votre système Ubuntu :
hostname -I
192.168.199.131
gdbserver 192.168.199.131:2000 ~/Desktop/testvs/main
3. Paramètres de l'hôte VScode
(1) Installez d'abord les plug-ins suivants dans VScode :
C/C++
C/C++ Extension PackRemote - SSHDéveloppement à distance
(2) connexion à distance ssh
"Gestion"->"Panneau de configuration" dans le coin inférieur gauche, puis recherchez l'option "Remote-SSH : Se connecter à l'hôte..." -> Ajouter un nouvel hôte SSH...Entrez l'adresse IP du système Ubuntu et la nouvelle apparaîtra Interface
Entrez le mot de passe du système Ubuntu dans la case rouge Si l'adresse IP verte est affichée dans le coin inférieur gauche, le la connexion est réussie, comme indiqué ci-dessous.
(3) Ouvrez le fichier de test
Ouvrez le dossier -> Sélectionnez le répertoire du dossier de test, cliquez sur le bouton "OK"
(4) Configurez le fichier de configuration
🎜🎜Sélectionnez Terminal> Configurer la tâche de construction par défaut dans la barre de menu et sélectionnez C/C++ : g++ build active file in la barre déroulante. Générez ensuite le fichier tâches.json et remplacez le contenu par : 🎜{ // 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId=733558 "version": "2.0.0", "tasks": [ { "type": "shell", "label": "g++ build active file", "command": "/usr/bin/g++", "args": [ "-std=c++11", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "/usr/bin" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true } }, { //删除二进制文件 "type": "shell", "label": "delete output file", "command": "rm", "args": [ "${fileDirname}/${fileBasenameNoExtension}" ], "presentation": { "reveal": "silent", //删除过程不切换终端(专注程序输出) } } ] }
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g++ build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "g++ build active file", "postDebugTask": "delete output file", "miDebuggerPath": "/usr/bin/gdb" } ] }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!