This repository has been archived by the owner on Sep 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.md.jinja
75 lines (49 loc) · 4.21 KB
/
README.md.jinja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Examen Test C
## Beginnen
1. Start de Ubuntu shell.
1. Download de opgave repository. Geef je UGent gebruikersnaam (`{{username}}`) en wachtwoord in wanneer dit gevraagd wordt.
```bash
git clone {{clone_url}}
```
> ⓘ Indien je hier een authenticatie fout krijgt op Windows is het waarschijnlijk omdat het UGent wachtwoord dat Windows opgeslagen heeft fout is. Je kan dit wachtwoord aanpassen via het "Referentiebeheer" programma, zoek voor de "github.ugent.be" referentie bij "Windows Referenties".
1. Open het examen in VSCode vanuit Ubuntu.
```bash
code {{repo_name}}/Examen.code-workspace
```
*Indien je op Windows werkt, controleer dan of je links onderaan het VSCode venster "WSL" of "WSL: Ubuntu" ziet staan zoals op onderstaande screenshot.*
![vscode WSL](.examen-tools/vscode-remote-ubuntu.png)
1. Open het bestand `gestart.txt`, verander `neen` in `ja` en sla de wijzigingen op ("File" > "Save").
1. Voer de taak "Start Examen" uit (in de bovenste menu "Terminal" > "Run Task..." en dan "start examen"). **Geef bovenaan het VSCode venster je UGent gebruikersnaam en wachtwoord in.**
![Gebruikersnaam en wachtwoord](.examen-tools/username.png)
Dit dient de wijzigingen in het `gestart.txt` bestand in, en zal iedere drie minuten opnieuw alle wijzigingen indienen tot je de taak stopzet of VSCode afsluit.
1. Controleer op <{{clone_url}}> of het `gestart.txt` bestand aangepast is.
Tijdens het examen zullen de wijzigingen iedere tien minuten ingediend worden. Je kan dit zelf ook manueel doen door middel van de task "manueel indienen". Om zeker te zijn dat je geen git conflicten krijgt tijdens het examen mag je **git niet zelf gebruiken** tijdens het examen. Gebruik enkel de tasks om in te dienen.
## Opgave
1. Open de test workspace en test het compileren via de aangeleverde `build` taak. Voer daarna de code eenmalig uit met de `run (+ build)` taak. Controleer of je `debugging works – FALSE` ziet en een memory leak zoals in onderstaande output. Indien dit niet het geval is, contacteer de begeleiders.
```txt
> Executing task in folder examen: ./examen.exe <
debugging works – FALSE
=================================================================
==57194==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 5000 byte(s) in 1 object(s) allocated from:
#0 0x7efd47948bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
#1 0x558e6b033205 in main /home/student/examen/main.c:5
#2 0x7efd476700b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
SUMMARY: AddressSanitizer: 5000 byte(s) leaked in 1 allocation(s).
The terminal process terminated with exit code: 1
Terminal will be reused by tasks, press any key to close it.
```
1. Test of je kan debuggen. Zet hiervoor in de main functie een breakpoint en start het debuggen door in de menu "Run" > "Start Debugging" te kiezen.
* Op het examen zullen dergelijke VSCode build en debug taken ook aangeleverd worden, je hoeft die dus niet zelf te kunnen opstellen.
1. Als bovenstaande gelukt is,
* wijzig de printf output in de `main` functie van `"debugging works – FALSE"` naar `"debugging works – TRUE"`, en
* commentarieer de memleak uit.
1. Voer het programma opnieuw uit door middel van de "run" task en controleer of de wijzigingen kloppen.
Als dit klaar is, volg dan de instructies om in te dienen.
**BELANGRIJK:** Indien één van bovenstaande stappen niet gelukt is, neem dan tijdig (i.e. minstens 4 dagen voor het examen) contact op met de begeleiders. Geef in je email een beschrijving van het issue en indien nodig verdere informatie (OS, VSCode versie, welke addons geïnstalleerd, etc.).
## Indienen
1. Voer de task "manueel indienen" uit (via de menu bovenaan: "Terminal" > "Run Task..." en kies "manueel indienen").
1. Controleer op <{{clone_url}}> of alle wijzigingen doorgevoerd zijn.
1. Sluit VSCode af zodat het automatisch indienen stopt.
1. Laat je begeleider via teams weten dat je klaar bent.
Als je jouw code op GitHub ziet staan dan heb je correct ingediend. Je kan zoveel indienen als je wilt. De laatst ingediende code zal verbeterd worden. Na het indienen mag je VSCode op je computer afsluiten. Bij het afsluiten zal het automatisch indienen ook gestopt worden.