Exemple de session gdb :
$ gcc -Wall -g segfault.c -o segfault
$ gdb ./segfault
GNU gdb 6.8-debian
...
(gdb) run
Starting program: ./segfault
Program received signal SIGSEGV, Segmentation fault.
0xb77ee9b7 in memcpy () from /lib/libc.so.6
(gdb) backtrace
#0 0xb77ee9b7 in memcpy () from /lib/libc.so.6
#1 0x08048400 in main () at segfault.c:6
(gdb) list
1 #include <stdio.h>
2 #include <string.h>
3
4 int main(void){
5 char *chaine;
6 strcpy(chaine,"Bouuuuuuuum !!!!!!!");
7 printf("%s\n",chaine);
8 return 0;
9 }
(gdb) break 6
Breakpoint 1 at 0x80483e5: file segfault.c, line 6.
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: ./segfault
Breakpoint 1, main () at segfault.c:6
6 strcpy(chaine,"Bouuuuuuuum !!!!!!!");
(gdb) (gdb) print/x chaine
$4 = 0xb7717775
(gdb) quit
The program is running. Exit anyway? (y or n) y