GDB ignoruje moje punkty przerwania

Mój przypadek testowy jest tak prosty, że muszę robić coś bardzo głupiego. Napisałem prosty plik źródłowytest.c:

#include<stdio.h>

int main(int argc,char* argv[]){
    printf("1\n");
    printf("2\n");
    printf("3\n");
    return 0;
}

Skompilowałem togcc -g test.c i uruchomiłem GDB za pomocągdb a.out. Potem stworzyłem punkt przerwania wmain zbreak main i uruchomiłem gorun(próbowałem także zstart) - ale GDB po prostu zignorował mój punkt przerwania!

To jest sesja powłoki, którą próbuję skompilowaćtest.c i uruchom GDB:

[idanarye@idanarye_lg gdbtest]$ gcc -g test.c
[idanarye@idanarye_lg gdbtest]$ gdb a.out
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/idanarye/gdbtest/a.out...done.
(gdb) break main
Breakpoint 1 at 0x40050f: file test.c, line 4.
(gdb) run
Starting program: /home/idanarye/gdbtest/a.out 
1
2
3
During startup program exited normally.
(gdb) 

Co na świecie robię źle tutaj?

Używam 64-bitowego Arch Linuxa. Moja wersja GCC to 4.8.2.

AKTUALIZACJA

Oto rezultatdisas main:

Dump of assembler code for function main:
   0x0000000000400500 <+0>:     push   %rbp
   0x0000000000400501 <+1>:     mov    %rsp,%rbp
   0x0000000000400504 <+4>:     sub    $0x10,%rsp
   0x0000000000400508 <+8>:     mov    %edi,-0x4(%rbp)
   0x000000000040050b <+11>:    mov    %rsi,-0x10(%rbp)
   0x000000000040050f <+15>:    mov    $0x4005c4,%edi
   0x0000000000400514 <+20>:    callq  0x4003e0 <puts@plt>
   0x0000000000400519 <+25>:    mov    $0x4005c6,%edi
   0x000000000040051e <+30>:    callq  0x4003e0 <puts@plt>
   0x0000000000400523 <+35>:    mov    $0x4005c8,%edi
   0x0000000000400528 <+40>:    callq  0x4003e0 <puts@plt>
   0x000000000040052d <+45>:    mov    $0x0,%eax
   0x0000000000400532 <+50>:    leaveq 
   0x0000000000400533 <+51>:    retq   
End of assembler dump. 
AKTUALIZACJA

Nie mam pojęcia, jak i dlaczego, ale teraz działa. Prawdopodobnie poprawiono aktualizację systemu ...

questionAnswers(1)

yourAnswerToTheQuestion