debugger nie zaznacza linii z błędem

0

Mam dziwną sytuację: mój program wyrzuca błąd " invalid floating point operation", w którymś kroku pętli. Niestety mój debugger z nieznanych mi przyczyn przestał pokazywać w której linii kodu nastąpił ten błąd. Czy to można włączyć/ wyłączyć i jeśli tak to gdzie albo jak to się nazywa?

0

Szukaj dzieleń przez zero lub logarytmów od wartości ujemnych.

0

Nie to jest problemem. Wiem co znaczy "invalid floating point operation", chodzi mi bardziej dlaczego nie pokazuje czerwonym paskiem w której linii nastąpił błąd. Ręczne szukanie przy iteracji rzędu 2 300 mija się z celem.

0

Niestety mój debugger z nieznanych mi przyczyn przestał pokazywać w której linii kodu nastąpił ten błąd

No bo albo nie zna tej linii błędu, albo temu kodowi nie odpowiada żadna linia kodu. Poczytaj więcej o działaniu debuggera...

0

Znalazłem błąd, faktycznie nie odpowiadała mu żadna linia kodu. W złe miejsce wpisałem writeln.
Było:

       Writeln (' 10b. dCf[o][p] | ', 'dCf[',o,'][',p,']  |  ',dCf[o][p]);
          dCf[o][p]:=(K1/Power(Rik[p],3));        //1 

czyli chciałem wypisać element który jeszcze nie istniał.

0

Znalazłem błąd, faktycznie nie odpowiadała mu żadna linia kodu.

Tak, a potem podajesz te linie kodu które powodują błąd. Facepalm

czyli chciałem wypisać element który jeszcze nie istniał.

Dziwne że debugger nie złapał tego, być może masz coś źle ustawione albo po prostu nie umiesz przeglądać call stacku (np. Lazarus pluje najwyższym znanym błędem i jeżeli nie ma do niego linii to jej nie podaje tylko trzeba szukać w stacku). Chyba powinieneś poczytać więcej informacji o debuggerach...
Swoją drogą to kompilator też zapewne przed tym ostrzegał (tak wiem, kogo obchodzą warningi).

1 użytkowników online, w tym zalogowanych: 0, gości: 1