MUP1+-+Øvelse+9.2

Vi brugte 5.1 til at debugge på. Vi tester med gdb ./test, hvorefter vi lavede et breakpoint ved at skrive b main.cpp:32, for at lave et breakpoint på linie 32 i main filen. Man skriver r for at starte debuggin, og hvis vi skriver n, får vi næste step i programmet. man kan køre programmet fra breakpoint ved at skrive c, for continue Så indsættes der en segmentation fault, vi tog den fra undervisningen, og den gav som ventet en segmentation fault, hvorefter vi kunne backtrace(bt), og finde fejlen.
 * Exercise 1**

Her gør vi det samme som i exercise 1, men nu bruger vi dd. Det gør det nemmere og sætte breakpoints, da man har en grafisk brugerflade. Debugging startes med komandoen: sudo ddd ./test
 * Exercise 2**

Vi bruger stadig samme kode som før, nu med coredump istedet. Her bruger vi gdb istedet for ddd. Det startes ved at skrive ulimit -c unlimited. Det giver som ventet en segfault. coredumpen køres ved gdb ./test core
 * Exercise 3**

Vi fulgte vejledningen "Preparing for cross debugging", hvorefter vi gentager de foregående øvelser på target. Her kan vi se vores fejl på host.
 * Exercise 4**


 * Start gdb på target: gdbserver localhost:1234 tester**


 * Start gdb på host: arm-none-linux-gnueabi-gdb tester**


 * Sætte prefix på host: set solib-absolute-prefix /home/user/DevKit8000Rootfs**


 * Opret forbindelse til target: target remote 10.9.8.2:1234**

Vi startede med at installere valgrind, så vi kunne tjekke vores kode. Derefter brugte vi **valgrind -tool=helgrind**, til at finde problemer med vores tråde.
 * Exercise 5**
 * valgrind -tool=memcheck -leak-check=fullat** fortalte at vi havde memory leaks ved vores opretning og nedlæggelse af tråde.