Nota geral: é uma má ideia chamar um teste de programa, pois já existe um comando de teste.
Mudando nome; -)
$ g++ -ggdb -O0 prova.cpp -o prova
Onde
-ggdb is the option for adding the debug info
-O0 disable all the optimization
-o provide a name to the binary other than the default a.exe
A seção de depuração será:
$ gdb prova
GNU gdb (GDB) (Cygwin 7.10.1-1) 7.10.1
...
Reading symbols from prova...done.
(gdb) run
Starting program: /tmp/prova/prova
[New Thread 6404.0x404]
[New Thread 6404.0x231c]
[New Thread 6404.0x1960]
[New Thread 6404.0x11b4]
Program received signal SIGSEGV, Segmentation fault.
0x00000001004010f7 in Func (i=-50) at prova.cpp:6
6 *pFoo = 1;
(gdb) bt
#0 0x00000001004010f7 in Func (i=-50) at prova.cpp:6
#1 0x0000000100401122 in main (argc=1, argv=0xffffcc30) at prova.cpp:11