Содержание
Возникает ошибка процессора, когда считываю из файла строки в динамический массив. IDE Lazarus v.1.2.4, Free Pascal. Не доходит в чём причина ошибки.
Код должен из входного файла "ip.in" считать:
и вывести результат работы программы в "ip.out".
В результате возникает ошибка: "Проект ipnetworks вызвал класс исключения ‘External: SIGSEGV’. По адресу 4023A1".
Программа работает, если запустить то же самое, но с пустым циклом:
Захожу в среду Лазарус, запускаю проект через F9 и тут же выскакивает надпись “Project raised exception class: ‘External: SIGSEGV” – как быть в такой ситуации? С чем может быть связана проблема и смогу ли ее решить?
Автор публикации
Достижение получено 30.09.2018
Титул: Надежный Бородач
Достижение получено 22.07.2018
Похожее:
Ошибка “Sigsegv” в среде разработки Lazarus возникает во время отладки проекта.
Как исправить надоедливый “error”?
Нужно быть профессионалом, чтобы выдать решение, которое помогло бы одновременно всем, у кого выскочила надпись “Sigsegv” в Lazarus.
Я же могу лишь рассказать о частых причинах выпадения этой ошибки:
- опечатка в коде (внимательно перечитайте что вы напечатали);
- помехи со стороны антивируса или брандмауэра (такое тоже бывает);
- глюки дебагера (попробуйте установить отладчик другой версии).
Более конкретно ответить на вопрос можно лишь при наличии текста ошибки и вашего кода.
Возможно, это прочитают спецы. Если так, приглашаю их присоединиться к обсуждению вопроса!
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:integer;
begin
a:=5;
b:=-7;
c:=9;
if (a>0) then
Label1.caption:=floattostr(sqr(a))
else
Label1.caption:=floattostr(Exp(4*Ln(a)));
if (b>0) then
Label2.caption:=floattostr(sqr(b))
else
Label2.caption:=floattostr(Exp(4*Ln(b)));//50строка
if (c>0) then
Label3.caption:=floattostr(sqr(c))
else
Label3.caption:=floattostr(Exp(4*Ln(c)));
end;
end.