Maison > Article > outils de développement > Comment utiliser le débogage gdb dans vscode
1. Démarrez la fenêtre de débogage de vscode
Appuyez sur Ctrl+Shift+D pour ouvrir la fenêtre de débogage
La valeur par défaut est "Aucune configuration", cliquez sur "F5", vous serez invité à configurer les paramètres GDB (sélectionnez gcc build et debug active file), le nom du fichier de configuration est launch.json (Référence de configuration 3)
Une fois la configuration terminée, appuyez à nouveau sur F5 , vous serez invité à configurer GCC, sélectionnez "Configurer la tâche", sélectionnez "C/C++ : créer et déboguer le fichier actif", le nom du fichier de configuration est task.json (Référence de configuration 2)
2. configuration
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "type": "shell", "label": "gcc build active file", "command": "/usr/share/mips-gcc-4.6/staging_dir/bin/mips-linux-gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "/usr/bin" }, "problemMatcher": [ "$gcc" ] } ] }
"command" : L'adresse de la chaîne de compilation
3. Configuration GDB
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "gcc build and debug active file", "type": "cppdbg", "request": "launch", "miDebuggerServerAddress": "192.168.0.1:10000", "program": "/home/renyinshan/work/p53/apps/cmdlib/test", "args": [], "stopAtEntry": true, "cwd": "/home/renyinshan/work/p53/apps/cmdlib/", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "gcc build active file", "miDebuggerPath": "/home/renyinshan/work/p53/apps/gdb/install/bin/mips-linux-gdb" } ] }
"program" : Le nom du programme à déboguer (incluant le chemin, de préférence un chemin absolu pour éviter les ennuis)
" miDebuggerServerAddress" : L'adresse et le port du serveur
"cwd" : Le chemin du niveau de débogage
" miDebuggerPath": Le chemin de gdb
4. Compilez et exécutez le serveur GDB
1) Compilez
Lors de la compilation de P53, veuillez activer le commutateur suivant ; P59 doit copier un du répertoire de la chaîne de compilation.
scripts/tozedap-router_4g_industry/config.tozedap-router_4g_industry:564:export NO_CPP_LIB=0 GDB运行需要libstdc++.so.6的库,所以需要把此开关打开。rrree
Les fichiers compilés sont les suivants :
./cool 3 gdb_build 等待完成即可
Explication : Le mips-linux-gdb dans le répertoire
install/bin est requis pour la configuration dans vscode ;
installgdbserver/bin/ Le mips-linux-gdbserver dans le répertoire doit être copié sur la carte ;
2) Connectez-vous à l'appareil via ssh, téléchargez gdbserver dans le répertoire /tmp et ajoutez les autorisations +x
3) Connectez-vous à l'appareil via ssh, téléchargez le programme exécutable dans le répertoire /tmp et ajoutez les autorisations +x
4) Exécutez
renyinshan@renyinshan:~/work/p53/build$ ls ../apps/gdb/install/* ../apps/gdb/install/bin: mips-linux-gdb mips-linux-gdb-add-index mips-linux-run ../apps/gdb/install/include: gdb ../apps/gdb/install/lib: libmips-linux-sim.a ../apps/gdb/install/share: gdb info locale man renyinshan@renyinshan:~/work/p53/build$ ls ../apps/gdb/installgdbserver/bin/ mips-linux-gdbserver renyinshan@renyinshan:~/work/p53/build$
Remarques :
1) Le téléchargement peut Pour exécuter le programme, vous devez vous assurer qu'il est compilé par la chaîne de compilation requise par l'appareil ;
2) Lorsque vous appuyez sur F5 pour déboguer en vscode, reportez-vous à 1 et 2 pour la configuration de la compilation GCC et GDB ;
5. Débogage
La préparation est terminée, débogage dans VSCode.
Recommandations associées : Tutoriel vscode
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!