[...] (gdb) break main # adăugăm breakpoint în funcția main Breakpoint 1 at 0x400530: file bug.c, line 12. (gdb) run # pornim programul Starting program: /home/master/github/labs/ii/bug Breakpoint 1, main (argc=1, argv=0x7fffffffe038) at bug.c:12 12 char *bug = 0; (gdb) next # trecem la următoarea linie din codul sursă 13 bug[2] = add(2, 4); (gdb) next Program received signal SIGSEGV, Segmentation fault. 0x000000000040054f in main (argc=1, argv=0x7fffffffe038) at bug.c:13 13 bug[2] = add(2, 4); (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/master/github/labs/ii/bug Breakpoint 1, main (argc=1, argv=0x7fffffffe038) at bug.c:12 12 char *bug = 0; (gdb) next 13 bug[2] = add(2, 4); (gdb) step # intrăm în funcția add pentru a o analiza pas cu pas add (a=2, b=4) at bug.c:6 6 c = a + b; (gdb) next 7 return c; (gdb) next 8 } (gdb) next Program received signal SIGSEGV, Segmentation fault. 0x000000000040054f in main (argc=1, argv=0x7fffffffe038) at bug.c:13 13 bug[2] = add(2, 4); (gdb) quit A debugging session is active. Inferior 1 [process 331] will be killed. Quit anyway? (y or n) y