Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Uncle_Sam
1 / 1 / 1
Регистрация: 15.05.2014
Сообщений: 30
#1

Как пользоваться отладчиком в Lazarus?

27.10.2014, 09:08. Просмотров 1206. Ответов 4
Метки нет (Все метки)

Вобщеем, уже неделю мучаюсь со своим проектом, никак не могу избавиться от навязчивой ошибки External:SIGSERV, и, что самое обидное, я никак не могу понять, в каком именно куске кода она появляется. К сожалению поиск Google мало, чем помог, поскольку большая часть найденной мной информации относилась к отладке КОНСОЛЬНЫХ приложений в Lazarus, да и к тому же там надо было ввести переменную, значение которой нужно проследить.
Проблема в том, что я не знаю, в какой именно переменной у меня проблема.
Приходится комментить куски кода и перекомпилировать по новой, и так, по 20 раз в день...

Добавлено через 28 минут
Только что включил в опциях компилятора "Генерировать отладочную информацию", запустил программу и вот, что он мне выдает (в проблемном участке кода).



Добавлено через 21 минуту
Ураааааа !!!! Я нашел ошибку ! Она была связана с переполнением массива, у меня он был длины 100, при том, что в массиве у меня было более 100 элементов. Из-за этого происходило переполнение массива и соответствующие ошибки.
Тему можно закрывать !!!!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2014, 09:08
Ответы с готовыми решениями:

Lazarus компонент inet как пользоваться ftp
Lazarus компонент inet как пользоваться ftp компонентом , знаю как работать с...

Установка ZEOS в Lazarus, работа с PostgressSQL в Lazarus
Не получается никак установить компонент ZEOS в Lazarus открываю пакет с...

Как пользоваться TAction
Как пользоваться TAction? Помогите, пожалуйста! Я не знаю, как сделать...

Компонент AdvAlert!? Как им пользоваться?
Есть ли какой-нибудь Tutorial по нему или видео-примеры, а то скачал,...

Как пользоваться объектом TWebBrowser?
Как из этого объекта вытащить HTML-source загруженной страницы? Заранее...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25981 / 17423 / 6908
Регистрация: 22.10.2011
Сообщений: 30,662
Записей в блоге: 6
27.10.2014, 10:26 #2
Лучший ответ Сообщение было отмечено Uncle_Sam как решение

Решение

Проект - Параметры проекта - Параметры компилятора - Отладка - (отметить все галки в группе "Проверки и Assert", и не снимать их, пока программа не будет отлажена полностью), тогда не надо было бы ничего искать, при переполнении массива получил бы сразу же:

1) при попытке обращения по нелегальному индексу, если индекс - константа:

Как пользоваться отладчиком в Lazarus?


2) если индекс - переменная, то проект откомпилируется, но:

Как пользоваться отладчиком в Lazarus?


Не по теме:

Какому гению пришло в голову по умолчанию снять эти галки, интересно? Вроде ж раньше они были включенными...

0
Uncle_Sam
1 / 1 / 1
Регистрация: 15.05.2014
Сообщений: 30
27.10.2014, 12:34  [ТС] #3
Мне. Я убрал эти галочки, а также добавил пакетный файл, сжимающий exe-шник UPX-ом, в целях уменьшения размера программы и экономии времени. Поскольку время пересылки через E-Mail 20 мегабайтного проекта (c несжатым EXE-файлов) и 1 мегабайтного существенно отличается.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25981 / 17423 / 6908
Регистрация: 22.10.2011
Сообщений: 30,662
Записей в блоге: 6
27.10.2014, 13:44 #4
Цитата Сообщение от Uncle_Sam Посмотреть сообщение
Мне.
Я не о тебе, а о разработчиках...
Цитата Сообщение от Uncle_Sam Посмотреть сообщение
Я убрал эти галочки
Об этом - отдельный разговор. Я уже написал выше, что убирать их надо только после того, как программа отлажена, а не во время отладки. Ты что, пересылаешь эту программу кому-то, еще не закончив ее отладку? Кому ж надо это, наживать себе проблемы таким образом?

P.S. на той же вкладке Параметры компилятора - Отладка ставишь галку на "Использовать внешний файл отладочных символов GDB", и EXE ужимается более чем в 15 раз... Без потери возможности отладки. Это так, на всякий случай...
0
Uncle_Sam
1 / 1 / 1
Регистрация: 15.05.2014
Сообщений: 30
27.10.2014, 13:48  [ТС] #5
Спасибо за информацию. Я просто думал, что пункт "включать отладочную информацию", относится лишь к компиляции и получаемому на выходе exe-файлу и не связан с отладкой, а тут оказывается вот что ...

Самое интересное, что эта ошибка появилась из-за моей невнимательности, т.к компилятор спокойно проглотил переполнение массива. Никогда не думал, что переполнение массива в одном модуле (форме) так сильно будет влиять на работоспособность остальных модулей (форм)
0
27.10.2014, 13:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2014, 13:48

Как настроить Lazarus на MacOS?
Объясните мне, блондинке, подробно как настроить lazarus на mac os? про гугл...

Как кодируются цвета в Lazarus?
Каким образом кодируются цвета в Лазарусе? Например,нужно изменить цвет...

Как запустить программу в Lazarus?
установлена Free Pascal Lazarus версия: 1.2.0 написал простенький код. жму в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru