This shows you the differences between two versions of the page.
pclp2:laboratoare:laborator-02 [2024/01/18 15:39] dragos.niculescu [9. Configurare vscode cu gdb] |
pclp2:laboratoare:laborator-02 [2024/02/08 19:53] (current) dragos.niculescu [9. Configurare vscode cu gdb] |
||
---|---|---|---|
Line 528: | Line 528: | ||
==== 9. Configurare vscode cu gdb ==== | ==== 9. Configurare vscode cu gdb ==== | ||
- | * extensii de instalat | + | === Configurare === |
+ | - extensii de instalat: Makefile tools, x86 and x86_64 Assembly, GDB Debug (by DamianKoper) | ||
+ | - Terminal/Configure Default Build Task - se editează .vscode/tasks.json, la commandă se trece ''make all'' | ||
+ | <code json> | ||
+ | "command": "make", | ||
+ | "args": [ | ||
+ | "all", | ||
+ | "" | ||
+ | ], | ||
+ | "options": { | ||
+ | "cwd": "${fileDirname}" | ||
+ | }, | ||
+ | "group": { | ||
+ | "kind": "build", | ||
+ | "isDefault": true | ||
+ | }, | ||
+ | </code> | ||
+ | - la tastele Ctrl-Shift-B se lansează comanda make all, îar în terminal se poate da Ctrl-Click pe numele fișierului cu eroare | ||
+ | - Fie se tastează F5 pentru a demara debug, fie se editează direct .vscode/launch.json; trebuie să conțină | ||
+ | <code json> | ||
+ | "stopAtEntry": true, | ||
+ | "cwd": "/tmp/01-hello-world", | ||
+ | "program": "/tmp/01-hello-world/hello", | ||
+ | "miDebuggerPath": "gdb", | ||
+ | "args": ["<", "1.in"], //Dacă la debug vrem stdin dintr-un fișier 1.in | ||
+ | </code> | ||
+ | - la comanda F5, debuggerul trebuie să pornească și să se oprească pe prima instrucțiune; cu Ctrl-Shift-D activăm fereastra de debug | ||
+ | - dacă avem module C, în acele module la buton dreapta apare opțiunea 'Disasembly window' | ||
+ | |||
+ | === Operare === | ||
* Se pot pune breakpointuri cu click dreapta în coloana din stânga numărului de line | * Se pot pune breakpointuri cu click dreapta în coloana din stânga numărului de line | ||
* în debug window (Ctrl-Shift-D), se recomandă activarea VAriables, Watch, și Call Stack | * în debug window (Ctrl-Shift-D), se recomandă activarea VAriables, Watch, și Call Stack | ||
Line 539: | Line 568: | ||
* În fereastra Debug Console apare promptul gdb; toate comenzile trebuie precedate de backquote ''`'' | * În fereastra Debug Console apare promptul gdb; toate comenzile trebuie precedate de backquote ''`'' | ||
- | + | === Hot Keys === | |
- | + | ||
- | ===== Hot Keys ===== | + | |
* Ctrl-Shift-D debug window | * Ctrl-Shift-D debug window | ||
* F5 start debugging, și continuă | * F5 start debugging, și continuă |