2015-02-17 13 views
5

Używam modelu Fortran 90 pod Ubuntu 14.04. Kompilator gfortran 95 (gfortran 4: 4.8.2-1ubuntu6) i gcc 4: 4.8.2-1ubuntu6 są instalowane przez Ubuntu Software Center. Po uruchomieniu modelu pojawia się następujący komunikat o błędzie:SIGFPE: Przesunięcie wyjątku Floating-Point dla tego błędu: 0x7F70C71AF7D7

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation. 
Backtrace for this error: 
#0 0x7F70C71AF7D7 
#1 0x7F70C71AFDDE 
#2 0x7F70C68EAD3F 
#3 0x7F70C6EB6913 

Czy ktoś mógłby mi wyjaśnić, co oznaczają te kody powrotu? Jak mogę obsłużyć te błędy?

+0

Liczby te są wartościami wskaźnika instrukcji, które niektóre procedury odwijaania stosu znaleźć na stosie. Możesz (lub nie) być w stanie przekazać je przez 'addr2line', aby uzyskać z nich nazwy funkcji i numery linii. – tmyklebu

+0

Próbowałem addr2line i gdb, aby uzyskać nazwy funkcji i numery linii, ale ich nie znalazłem. '(Gdb) Informacje symbol 0x7F2B31E0D7D7 Brak symbolu mecze 0x7F2B31E0D7D7',' gdb) infolinia * 0x7F2B31E0D7D7 No linia informacyjna numer dostępny dla adresowej 0x7f2b31e0d7d7', 'addr2line -e KiD_SC_2D.exe 0x7F2B31E0D7D7 ??: 0'. Czy istnieje inny sposób radzenia sobie z tym błędem? – Beata

Odpowiedz

4

Podczas kompilacji użyj opcji -O -Wall -fcheck=all -g -fbacktrace i uruchom plik wykonywalny. Jeśli to nie dostarcza niezbędnych informacji, spróbuj uruchomić swój program pod gdb i/lub valgrind.

Powiązane problemy